Excerpt | ||
---|---|---|
| ||
请勿更改本页的标题。它引用自“仪表盘诊断”插件。 |
Include Page | ||||
---|---|---|---|---|
|
这是具有多个 SSL 证书和/或 Web 应用,并且都在一个位置 (Apache) 进行管理的网络的通用配置。
如果需要更复杂的解决方案,请参见 Apache HTTP Server 版本文档、咨询组织内的 Apache SME,如果需要,还可以在 Atlassian Answers 上提问,或与我们的 Atlassian 专家联系。
Expand | ||
---|---|---|
| ||
|
开始之前
预计在配置 Apache 之前,SSL 证书已经过 CA 签名并采用 PEM 格式。有关准备和生成 SSL 证书方面的帮助,请咨询 SSL 供应商(例如,GoDaddy、Verisign、RapidSSL)。
确定是否使用域、子域或上下文路径在很大程度上取决于所提供的 SSL 证书类型以及有关网站配置的所有业务规则。要准确无误地运行 SSL,域就必须与证书的通用名称 (CN) 相匹配。
Expand | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
下表说明了哪些 URL 可与证书 CN 一起使用,还推荐了可以使用的 URL。
|
CN 中带有星号 (*) 的证书是通配符证书,可以支持该域的任何子域。如果您不确定要使用的 URL,请咨询系统管理员和提供证书的 SSL 供应商。
步骤 1:配置 Tomcat
- 关闭 JIRA。
(可选:如果 JIRA 不需要上下文路径,请跳过此步骤。)
编辑 Tomcat 的
server.xml
,使其包含所需的 JIRA 上下文路径。下面的示例使用了path="jira"
,这意味着,如果采用的是默认 JIRA 端口,即可通过http://jiraserver:8080/jira
访问 JIRA。Code Block language html/xml <Engine defaultHost="localhost" name="Catalina"> <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> <Context docBase="${catalina.home}/atlassian-jira" path="/jira" reloadable="false" useHttpOnly="true"> <!-- ==================================================================================== Note, you no longer configure your database driver or connection parameters here. These are configured through the UI during application setup. ==================================================================================== --> <Resource auth="Container" factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60" name="UserTransaction" type="javax.transaction.UserTransaction"/> <Manager pathname=""/> </Context> </Host>
确保
path
值的前面带有正斜杠 (/
)。例如,应为path="/jira"
而不是path="jira"
。编辑 Tomcat 的
server.xml
,使其包含用于代理请求的单独的连接器。这需要scheme
、proxyName
和proxyPort
属性。将这些属性替换为代理的相应域和端口,如下例所示:Code Block language html/xml <Service name="Catalina"> <!-- Apache Proxy Connector with values for scheme, proxyName and proxyPort --> <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true" scheme="https" proxyName="jira.atlassian.com" proxyPort="443"/> <!-- Standard HTTP Connector --> <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" port="8081" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true" />
- 禁止在 Tomcat 内重定向到 HTTPS(如果已启用)- 例如,在通过 SSL 或 HTTPS 运行 JIRA 应用 中对
WEB-INF/web.xml
做出的变更将导致使用 Apache 时发生错误。 - 启动 JIRA。
- 测试 JIRA 是否可通过标准连接器访问,如果适用,请使用上下文路径(如
http://jiraserver:8081/jira
)进行测试。 - 通过相应的代理连接器访问 JIRA,测试新连接器是否已生效。具体行为取决于上下文路径:
- 如果上下文路径为空或根 (
/
) 路径,则通过代理连接器(例如http://jiraserver:8080/
)访问 JIRA 时,您会在进入 JIRA 时收到警告: - 如果上下文路径不为空或根目录 (
/
),如/jira
,则通过代理连接器(如http://jiraserver:8080/jira
)访问 JIRA 会将您重定向到已配置的代理(如https://jira.atlassian.com/jira
)。
- 如果上下文路径为空或根 (
为了在 JIRA 上进行测试,我们使用两个不同的 Tomcat 连接器并在需要时绕过代理,因为这在故障排除时会很有用。预计无法从网络外对标准连接器进行外部访问(防火墙不会向其转发任何端口)。
Hide |
---|
步骤 2:配置 Apache HTTP Server
本文档未介绍如何安装 Apache 和配置 DNS。此外,文档假设已针对 JIRA 域安装了 Apache 2.2 并配置了 DNS 条目。由于 Apache 的配置特定于所使用的操作系统,因此本文档只提供了部分发行版及其配置。
2.1 启用代理模块
Debian/Ubuntu
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Windows/其他操作系统
Expand | ||
---|---|---|
| ||
|
2.2 配置 Apache 以使用这些模块
Debian/Ubuntu
Expand | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
|
Windows/其他操作系统
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
2.3 将 HTTP 重定向到 HTTPS
可以通过以下任一方法执行此操作:
- 设置 HTTP
VirtualHost
以跳转到同一 Tomcat 连接器。Tomcat 将使用scheme
、proxyName
和proxyPort
参数重定向到 HTTPS。这可以按照将 JIRA 与 Apache 集成文档中所述来实现。 使用 mod_rewrite(此模块可能需要启用),将以下内容添加到 HTTP
VirtualHost
中:No Format RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
步骤 3:配置 JIRA
- 如配置 JIRA 选项中所述,将 Use gzip compression 设置为 OFF。众所周知,GZIP 压缩在使用反向代理时会导致性能问题,特别是在代理还压缩流量的情况下更是如此。
- 将 Base URL 设置为 JIRA 将要访问的 FQDN,例如 https://jira.atlassian.com。同样可参见配置 JIRA 选项。
只能将 JIRA 配置为响应单个 URL,并且基本 URL(如配置 JIRA 选项中所述)必须与最终用户访问的 URL 一致。配置错误可能会导致 JIRA 内出现严重问题,例如活动流和仪表盘小工具无法正常工作。 - 通过在 FQDN 上访问 JIRA 进行测试(例如:https://jira.atlassian.com),确保可以访问 JIRA ,并且所有仪表盘小工具都能正确显示。
故障排除
Include Page | ||||
---|---|---|---|---|
|
另请参见
- 将 JIRA 与 Apache 集成
- 使用 AJP 协议配置 Apache 反向代理
- 有关更多高级
mod_webapp
配置(例如SSL),请参见此 mod_proxy 指南。 - Apache 虚拟主机文档