2017-02-15 61 views
0

我已經建立了吉拉核心7.3.0這是運行和使用下面的設置是在server.xml:通過Apache訪問吉拉反向代理

<Connector port="8080" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" bindOnInit="false" scheme="https" proxyName="SERVERNAME" proxyPort="443"/> 
<Connector port="8081" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" bindOnInit="false"/> 

採用這種吉拉的「版本」是完全泛函並跑步。

只要我將Apache安裝爲反向代理服務器,Jira與之前不一樣。第一次使用現有的Administartor帳戶登錄時無法登錄。 如果我登錄jira(沒有apache代理)(這是suceed),然後在jira的apache代理「版本」上工作。這很混亂。

我用以下爲Apache的httpd.conf設置:

<VirtualHost *:80> 
    ServerName SERVERNAME 
    RewriteEngine On 
    RewriteCond %{HTTPS} off 
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
</VirtualHost> 

<VirtualHost *:443> 
    ServerName SERVERNAME 
    ProxyRequests Off 
    ProxyVia Off 
    <Proxy *> 
     Require all granted 
    </Proxy> 
    SSLEngine On 
    SSLProxyEngine On 
    ProxyPreserveHost On 
    ProxyPass /jira http://localhost:8080/jira 
    ProxyPassReverse /jira http://localhost:8080/jira 
    SSLCertificateFile C:\Path\to\cert\file.crt 
    SSLCertificateKeyFile C:\Path\to\cert\file.key 
</VirtualHost> 

怎麼會這樣?

回答

0

您的重寫規則不會傳遞整個原始網址。

http://httpd.apache.org/docs/current/mod/mod_rewrite.html狀態:

REQUEST_URI 請求的URI的路徑成分,如 「/index.htm」 明明。 這明顯排除了查詢字符串,該字符串可用作其自己的變量QUERY_STRING。

混淆JIRA的原因我在上面做了大膽。

我成功應用於:(。*) 重寫規則https://% {HTTP_HOST} $ 1 [R,L]