使用 AJP-Proxy 访问 Jira

使用 AJP-Proxy 访问 Jira

我想通过 AJP-Proxy 配置 Jira-Access。我正在关注此如何

  1. 在 server.xml 中我激活了 AJP:

    <Connector port="8089" redirectPort="8444" enableLookups="false" protocol="AJP/1.3" URIEncoding="UTF-8"/>

  2. 编辑 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

我已经在 J​​IRA 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 上监听......

相关内容