木一 发表于 2018-11-17 09:17:15

Confluence 6 使用 Apache 和 mod_proxy 的基本配置

  在这些示例中,我们使用下面的信息:
  http://www.example.com/confluence - 你计划使用的 URL
  http://example:8090/ - Confluence 当前安装的主机名和端口
  http://example:8091/ - Synchrony 当前安装的主机名和端口,这个服务被用来提供默认的协同编辑服务
  /confluence - 这个是有关你 Confluence 计划使用的上下文(在主机名和端口的后面)
  /synchrony - Synchrony 使用的上下文路径,这个提供了协同编辑服务
  你需要将上面的 URL 替换成你自己的 URL。
1 设置上下文路径
https://www.cwiki.us/s/en_GB/7701/88819522251e178b5cc83bc1e3ddc18a884c1aed/_/images/icons/emoticons/warning.svg 如果你不需要使用上下文来访问 Confluence,例如你希望使用 www.example.com 来访问这个,你可以跳过这部分的内容。
  设置你 Tomcat 中 Confluence 上下文的路径(在主机名和端口的后面)。在这个示例中,上下文路径被配置为 /confluence。
  编辑 conf/server.xml,找到"Context" 的定义:
  然后修改为:
  在这个示例中,我们已经使用了 /confluence 为上下文的路径。请注意,你不能使用 /resources 为你的上下文路径,这是因为这个上下文的路径在 Confluence 中被用来定义资源,如果你使用这个配置的话,将会在 Confluence 中导致问题。
  重启 Confluence,然后你可以尝试使用 http://example:8090/confluence 进行访问,并确保你能正确访问。
2 设置 URL 重定向
  下一步,设置 URL 重定向。在 conf/server.xml 文件中,使用示例的连接器为你的起始点。
  注释掉默认的连接器(针对不使用代理的访问)。
  显示如何进行配置..
  在 HTTP - Proxying Confluence via Apache or Nginx over HTTP 头部列出的内容,取消注释连接器。
  显示如何进行配置..
  在上面显示内容的最下面,插入你的 proxyName 和 proxyPort :
  如果你计划启用 HTTPS,使用 HTTPS - Proxying Confluence via Apache or Nginx over HTTPS. 下面的连接器。
3 配置 mod_proxy
  使用下面的一个示例来编辑你的 http.conf 文件中有关应用服务器代理的配置。
https://www.cwiki.us/s/en_GB/7701/88819522251e178b5cc83bc1e3ddc18a884c1aed/_/images/icons/emoticons/warning.svg 你需要针对你的 Apache 启用下面的一些模块,如果这些模块还没有在你的 Apache 中启用的话:

[*]  mod_proxy
[*]  mod_proxy_http
[*]  proxy_wstunnel
[*]  mod_rewrite
  (proxy_wstunnel 和 mod_rewrite 是针对 Confluence 6.0 需要的新的模块)
  http.conf 文件的格式和模块的位置路径,针对你使用操作系统的不同可能有所不同。你们推荐 Windows 的用户在这里配置的时候使用绝对路径。
示例 1:配置上下文路径
  在这个示例中,如果你已经在上面的第一步中设置了上下文路径,同时你的 Confluence 服务器也可以通过配置的上下文路径进行访问,例如这个 http://www.example.com/confluence。
  在这个示例中,用户将会连接到 Synchrony,这个是针对协同编辑所使用的服务,是通过 WebSockets 直连的。
https://www.cwiki.us/s/en_GB/7701/88819522251e178b5cc83bc1e3ddc18a884c1aed/_/images/icons/emoticons/warning.svg 在配置文件中的配置顺序是非常重要的。
  Apache HTTP server 2.4
# Put this after the other LoadModule directivesLoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.soLoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.soLoadModule proxy_wstunnel_module /usr/lib/apache2/modules/mod_proxy_wstunnel.soLoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so # Put this in the main section of your configuration (or virtual host, if using Apache virtual hosts)ProxyRequests OffProxyPreserveHost On   Require all granted ProxyPass /synchrony http://:8091/synchrony    Require all granted    RewriteEngine on    RewriteCond %{HTTP:UPGRADE} ^WebSocket$     RewriteCond %{HTTP:CONNECTION} Upgrade$     RewriteRule .* ws://:8091%{REQUEST_URI} ProxyPass /confluence http://:8090/confluenceProxyPa***everse /confluence http://:8090/confluence   Require all granted  注意:如果你使用的是 HTTP Server 2.2,但是你的 Confluence 使用的 6.0 及其后续版本,这个配置是不能成功的。如果你计划使用 SSL ,你需要使用 2.4.10 或者后续版本。
示例 2:不使用上下文的配置
  在这个示例中,如果你已经跳过了第一步的配置,没有使用上下文路径进行访问,例如访问的 URL 为 http://www.example.com/。
  在这个示例中,用户将会连接到 Synchrony,这个是针对协同编辑所使用的服务,是通过 WebSockets 直连的。
https://www.cwiki.us/s/en_GB/7701/88819522251e178b5cc83bc1e3ddc18a884c1aed/_/images/icons/emoticons/warning.svg 在配置文件中的配置顺序是非常重要的。
  Apache HTTP server 2.4
# Put this after the other LoadModule directivesLoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.soLoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.soLoadModule proxy_wstunnel_module /usr/lib/apache2/modules/mod_proxy_wstunnel.soLoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so # Put this in the main section of your configuration (or virtual host, if using Apache virtual hosts)   ProxyRequests OffProxyPreserveHost On      RewriteEngine OnRewriteCond %{REQUEST_URI} !^/synchronyRewriteRule ^/(.*) http://:8090/$1          Require all granted   ProxyPass /synchrony http://:8091/synchrony         Require all granted      RewriteEngine on      RewriteCond %{HTTP:UPGRADE} ^WebSocket$       RewriteCond %{HTTP:CONNECTION} Upgrade$       RewriteRule .* ws://:8091%{REQUEST_URI}    ProxyPass / http://:8090ProxyPa***everse / http://:8090         Require all granted  注意:如果你使用的是 HTTP Server 2.2,但是你的 Confluence 使用的 6.0 及其后续版本,这个配置是不能成功的。如果你计划使用 SSL ,你需要使用 2.4.10 或者后续版本。
4 重启 Apache
  为了让新的配置生效,你需要运行下面的命令来让 Apache 重启后载入新的配置文件:
sudo apachectl graceful5 禁用 HTTP 压缩
  如果在代理和 Tomcat 中启用了压缩,这个将会在整合其他 Atlassian 应用的时候出现问题,例如 JIRA。请禁用 HTTP 压缩,并请参考 Compressing an HTTP Response within Confluence 页面中的内容。
6 修改 Confluence 基础 URL
  最后一个步骤是配置 Base URL 的地址来指向你没有使用的代理的地址,例如 http://www.example.com/confluence。
  https://www.cwiki.us/display/CONF6ZH/Using+Apache+with+mod_proxy

页: [1]
查看完整版本: Confluence 6 使用 Apache 和 mod_proxy 的基本配置