2017-02-15 24 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]