我想通过 AJP-Proxy 配置 Jira-Access。我正在关注此如何
在 server.xml 中我激活了 AJP:
<Connector port="8089" redirectPort="8444" enableLookups="false" protocol="AJP/1.3" URIEncoding="UTF-8"/>
编辑 VHOST 配置:
# Load Proxy-Modules LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so # Load AJP-Modules LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so # Proxy Configuration <IfModule proxy_http_module> ProxyRequests Off ProxyPreserveHost On # Basic AuthType configuration <Proxy *> AuthType Basic AuthName Bamboo-Server AuthUserFile /var/www/userdb Require valid-user AddDefaultCharset off Order deny,allow Deny from all Allow from 192.168.0.1 satisfy any </Proxy> ProxyPass /bamboo http://localhost:8085/bamboo ProxyPassReverse /bamboo http://localhost:8085/bamboo ProxyPass /jira ajp://localhost:8009/ ProxyPassReverse /jira ajp://localhost:8009/ </IfModule>
但它不起作用。
在日志中我发现:
//localhost:8080/
[Fri Nov 19 14:51:13 2010] [debug] proxy_util.c(1819): proxy: worker ajp://localhost:8080/ already initialized
[Fri Nov 19 14:51:13 2010] [debug] proxy_util.c(1913): proxy: initialized single connection worker 1 in child 5578 for (localhost)
[Fri Nov 19 14:51:32 2010] [error] ajp_read_header: ajp_ilink_receive failed
[Fri Nov 19 14:51:32 2010] [error] (120006)APR does not understand this error code: proxy: read response failed from (null) (localhost)
[Fri Nov 19 14:51:32 2010] [debug] proxy_util.c(2008): proxy: AJP: has released connection for (localhost)
[Fri Nov 19 14:51:32 2010] [debug] mod_deflate.c(615): [client xx.xx.xx.xx Zlib: Compressed 468 to 320 : URL /jira
有人有想法吗?
答案1
你那里的端口正确吗?JIRA 服务器 XML 中有两个不同的连接器。默认情况下,HTTP 连接器位于 8080 上。
AJP 通常默认为 8009:
<Connector port="8009" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25"
maxSpareThreads="75" useBodyEncodingForURI="true" enableLookups="false"
redirectPort="8443" protocol="AJP/1.3" acceptCount="100" connectionTimeout="20000"
disableUploadTimeout="true" />
编辑
现在您有了正确的端口,但似乎存在协议问题。我将验证 proxy_ajp_module 是否正确加载:
apache2ctl -t -D DUMP_MODULES
您可能还想将所有代理设置移出该<IfModule proxy_http_module>
部分以进行测试。
答案2
我已经在 JIRA server-xml 中激活了 AJP-Connetor:
<Connector port="8089" redirectPort="8444" enableLookups="false" protocol="AJP/1.3" URIEncoding="UTF-8"/>
端口 8009 也在监听:netstat -ntpl | grep 8009
tcp6 0 0 127.0.0.1:8009 :::* LISTEN 20767/java
编辑 哦,该死,我傻了 :-/ 知道我明白你的意思了。我编辑了错误的端口...我会立即尝试
编辑2 我现在已更改 server.xml 中的端口
<Connector port="8009" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25"
maxSpareThreads="75" useBodyEncodingForURI="true" enableLookups="false"
redirectPort="8443" protocol="AJP/1.3" acceptCount="100" connectionTimeout="20000"
disableUploadTimeout="true" />
但它不起作用!我成为了内部服务器错误。在Apache日志中,我发现了这个错误:
No protocol handler was valid for the URL
答案3
您的带有 ajp 的 apache 可能正在尝试通过 ipv4 连接到提到的端口,而该服务仅在 ipv6 上监听......