Confluence 6 配置 Web 代理支持

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Confluence 6 配置 Web 代理支持相关的知识,希望对你有一定的参考价值。

这个页面中的相关平台中的内容是不被支持的。因此,Atlassian 支持不能保证能够为你提供任何支持。请注意,这个页面下面提供的信息仅为你提供参考同时也不能保证所有的的配置能正常工作。如果你按照本页面中的内容进行配置,所有的风险自负。

一些 Confluence 的宏,例如 {rss} 和 {jiraissues} 需要向外部的服务器发起请求并且获得数据。如果 Confluence 是部署在数据库中心或者 DMZ 中的话,你可能不能访问互联网来获得需要的数据完成请求。如果你发现 {rss} 宏不能正常工作,请询问你的网络管理员,或者可能 Confluence 需要通过代理才能访问外部数据。

在 Confluence 中配置外部 HTTP 代理

Proxy 的支持是通过在启动的时候传递一些 system properties 到 Java 虚拟机中(Java Virtual Machine)。

  • http.proxyHostConfl

  • http.proxyPort (default: 80)

  • http.nonProxyHosts (default: <none>)

  • https.proxyHost

  • https.proxyPort

在最小的配置情况,你需要在 HTTP 代理中配置定义 http.proxyHost 和 https.proxyHost 来配置 HTTPS 的代理。系统属性的配置在 Configuring System Properties 页面中进行描述。

属性 http.proxyHost 和  http.proxyPort 确定了 http 协议处理中将会使用代理服务器和代理服务器使用的端口。同时, https.proxyHost 和 https.proxyPort 同时也为 https 协议以处理中定义的相同的参数。

-Dhttp.proxyHost=proxy.example.org -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example.org -Dhttps.proxyPort=8080

属性 http.nonProxyHosts 确定了应该直接连接的主机和不通过的代理服务器。这个值可以为主机(hosts)的列表。每一个主机通过 | 字符进行分割。如果你想进行更进一步的配置,你可以使用通配符(*)来进行匹配。

例如:

-Dhttp.nonProxyHosts=*.foo.com|localhost

I如果你现在正在使用的是 Confluence 6.0 或者更新的版本,同时使用了 Synchrony,你需要传递下面的参数来确定 Confluence 可以直接连接到 Synchrony。替代 localhost|127.0.0.1 为你的 Synchrony IP 地址,如果你使用了 synchrony.host system property 来修改 Synchrony 使用的 IP 地址。

备注:你可能需要在命令行中忽略 | 字符串。

如果 http.nonProxyHosts 属性没有被配置的话,所有的 web 请求将会发送到代理上。

请注意,所有从处理列表中设置的任何命令行参数和和任何人通过适当的访问来访问代理的信息可能为空。为了避免这个问题,你可以设置这些属性在 catalina.properties 文件中。这个文件位于 confluence-install/conf/ 目录中。添加配置参数到这个文件的末尾:

配置 HTTP 代理授权

代理授权同时也通过提供 system properties 进行配置,这个配置文件是在你的应用程序配置文件中进行配置的。主要是通过下面 2 个参数进行配置:

  • http.proxyUser – username

  • http.proxyPassword – secret

HTTP 代理(Microsoft ISA)NTLM 授权

当 Confluence 运行在 Window 服务器环境下的时候,Confluence 能够支持 NTLM 授权为你的外部访问流量(outbound )HTTP 提供代理支持。

这个意思是如果你的 Confluence 服务器是可以通过 Windows 收取的方式访问外部数据,例如可以访问外部数据的宏 {rss} 和 {jiraissues} 。这个支持与与 Confluence 用户登录授权自动使用 NTLM 是不同的。这个授权是通过用户贡献授权使用的。

为了你的 HTTP 代理授权配置配置 NTLM,你需要定义一个域名属性,在 system property 中,http.auth.ntlm.domain,你可能还需要配置更多的一些配置包括有用户名,端口等。

-Dhttp.auth.ntlm.domain=MYDOMAIN

配置授权序列

有些时候在 HTTP 代理中需要提供多授权模式。如果你收到了授权失败的错误信息,你应该首先检查的是你的用户名和密码,然后在检查代理失败的 HTTP headers 信息(本文档对如何进行调试不进行说明,请搜索参考其他的文章)。

希望对多授权模式的授权序列进行测试,你可以设置 system property 中的 http.proxyAuth 参数,使用逗号分隔授权方法。可以用的授权方法为:ntlm,digest 和 basic;这些方法也是默认的授权方法使用的授权序列。

例如:希望尝试在 NTLM 收取之前尝试基本的收取,同时避免对整个授权方法进行诊断。你可以设置 http.proxyAuth 属性为下面的值:

-Dhttp.proxyAuth=basic,ntlm -Dhttps.proxyAuth=basic,ntlm

问题解决

  1. 这里有一个诊断使用的 JSP 文件,在 CONF-9719 定义了连接使用的参数。

  2. 'Status Code [407]' 错误在 APR-160 中描述。

  3. 不支持 Autoproxies。请参考 CONF-16941

 

https://www.cwiki.us/display/CONF6ZH/Configuring+Web+Proxy+Support+for+Confluence


以上是关于Confluence 6 配置 Web 代理支持的主要内容,如果未能解决你的问题,请参考以下文章

Confluence 6 代理和 HTTPS 设置连接器

Confluence 6 代理和 HTTPS 详细配置指南链接

Confluence 6 查看系统属性

Confluence 6 查看系统属性

Confluence 6 已经存在的 Confluence 安装配置一个数据源连接

Confluence 6 已经存在的 Confluence 安装配置一个数据源连接