这个页面描述了如何为 Confluence 配置 NGINX 的反向代理。
这个页面中的配置结果将会影响到下面 2 个配置情况:
- 外部客户连接到 NGINX 使用安全的 SSL。在 NGINX 和 Confluence 服务器之间的连接不是安全的。
- Confluence 服务器和 NGINX 运行在同一个机器中。
我们假定你已经运行了 NGINX 实例。如果你还没有安装运行 NGINX 实例,请参考 NGINX documentation 文档中的内容来下载安装 NGINX。SSL 的证书也必须安装到 NGINX 运行的服务器上。你需要安装支持 WebSockets 的 NGINX 版本(1.3 或者后续版本)。
如果你的项目小组还计划使用 Confluence 的移动 app 版本,你还需要让你的证书从 CA(Certificate Authority) 授信。你不能在你的移动 APP 上使用自己签发的证书或者没有从 CA 授信的证书。
Atlassian Support 不能提供有关第三方工具的配置,例如 NGINX。如果你在配置的时候遇到了任何问题,请参考 NGINX 的文档,或者访问 Atlassian Community 或者从我们的 Solution Partner 合作伙伴处获得帮助。
1:设置上下文路径
如果你不希望通过上下文来访问你的 Confluence 安装实例(www.example.com),或者你是直接通过子域名来访问的(confluence.example.com),你可以跳过这一步的配置。
在 Tomcat 中设置你 Confluence 应用程序的路径(位于主机名和端口后的路径)。编辑 <installation-directory>/conf/server.xml,这部分内容在
"Context" 中定义:
|
然后修改为:
|
在这个示例中,我们已经使用了 /confluence
为上下文的路径。请注意,你不能使用 /resources
为你的上下文路径,因为在 Confluence 中使用这个路径用于定位资源,如果你使用这个路径的话将会在后面导致错误。
重启 Confluence,然后检查你是否可以访问 http://example:8090/confluence
2:配置 Tomcat 连接器
在相同的 <installation-directory>conf/server.xml
文件中,使用示例的连接器为启动点。
注释掉默认的连接器(针对不需要代理的访问)。
Show me how to do this...
取消 HTTPS - Proxying Confluence via Apache or Nginx over HTTPS 中间的注释。
Show me how to do this...
插入你的 代理名(proxyName)和 代理端口(proxyPort )如下行显示的内容:
|
请确定你已经为你的协议和代理名称配置了争取的值。
3:配置 NGINX
你需要在你的的 NGINX 服务器中指定一个监听服务器,如下面的示例内容。同时添加下面的内容到你的 NGINX 配置中。
替换你 SSL 证书和 key 为你的服务器名称。
在这个示例中,用户将要连接到 Synchrony,这个服务运行直接协作编辑。
|
请参考 https://nginx.org/en/docs/http/ngx_http_proxy_module.html 来获得更多的信息。
备注:如果你现在正在配置 SSL 和 Confluence 到一个相同的服务器上,如上面的内容所示,请不要包含 ssl 配置。
如果你不确定在那里包含 ssl_ciphers,请参考页面
https://mozilla.github.io/server-side-tls/ssl-config-generator/ 中的内容,这里的内容能非常有用。
如果你遇到了 413 Request Entity Too Large 的错误,请确定 /confluence 中的 client_max_body_size 块内容与 Confluence 的 maximum attachment size 配置的大小是相同的。如果你在对大页面进行编辑的时候遇到了错误,你可能还需要增加 /synchrony 中配置的 client_max_body_size 大小。
如果你计划使用 Confluence 的移动 app...
如果你通过子域名来访问 Confluence ...
4:重启 Confluence 和 NGINX
- 重启 Confluence 和 NGINX 来让配置生效。
- 更新 Confluence 的基础 URL 来确定你在上下文问中设置的路径,请参考 Configuring the Server Base URL 页面中的内容。
https://www.cwiki.us/display/CONF6ZH/Running+Confluence+behind+NGINX+with+SSL