簡體   English   中英

Apache反向代理后面具有SSL的JIRA服務器不起作用

[英]JIRA Server with SSL Behind Apache Reverse Proxy Not Working

我正在嘗試在Apache反向代理后面進行JIRA設置,在該代理中,通過SSL到Apache的連接是通過Apache,然后在Apache和JIRA之間的連接是http。

即Internet /網絡<= https => Apache <= http => JIRASERVER

我正在使用按此處所述創建的自認證證書Apache和JIRA都在同一Windows 2008 R2服務器上運行。 我遵循了Atlassian指示,但似乎沒有用,我一直在Internet上四處張望,找不到解決我問題的方法。

我可以在沒有SSL的情況下安裝Apache,這似乎可以正常工作

配置1

互聯網/網絡<= http => Apache <= http => JIRASERVER

JIRA安裝文件

server.xml

<Service name="Catalina">
    <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" 
    enableLookups="false" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" 
    port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"
    proxyName="JIRASERVERNAME" proxyPort="80"/>

Apache安裝文件

httpd.conf

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ServerName JIRASERVERNAME

Include conf/extra/httpd-vhosts.conf

httpd-vhosts.conf

<VirtualHost *>
    ServerName JIRASERVERNAME

    ProxyRequests       Off
    ProxyPreserveHost   On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass           /   http://JIRASERVERNAME:8080/
    ProxyPassReverse    /   http://JIRASERVERNAME:8080/

</VirtualHost>

在瀏覽器URL中鍵入JIRASERVERNAME指向JIRASERVERNAME / secure / Dashboard.jspa,並且運行正常。

配置2

但是,當我嘗試通過如下所示更改文件來啟用SSL(即,刪除非SSL的設置並僅使用SSL)時,我沒有任何響應,並且對錯誤之處感到困惑。

JIRA安裝文件

server.xml

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

Apache安裝文件

httpd.conf

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so

ServerName JIRASERVERNAME

Include conf/extra/httpd-vhosts.conf

httpd-vhosts.conf

<VirtualHost *:443>
    ServerName JIRASERVERNAME

    SSLEngine               On
    SSLCertificateFile      "C:\Program Files\Atlassian\JIRA\jre\server.crt"
    SSLCertificateKeyFile   "C:\Program Files\Atlassian\JIRA\jre\server.key"
    SSLProxyEngine      On

    ProxyRequests       Off
    ProxyPreserveHost   On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass           /   http://JIRASERVERNAME:8080/
    ProxyPassReverse    /   http://JIRASERVERNAME:8080/

</VirtualHost>
<VirtualHost *:80>
    ServerName JIRASERVERNAME
    Redirect        /   https://JIRASERVERNAME/
</VirtualHost>

在JIRASERVERNAME中輸入內容會重定向到安全URL https://JIRASERVERNAME但我在Chrome中收到響應“此網頁不可用”,有人可以幫助指出我做錯了嗎,我將不勝感激

我知道它能正常工作,主要是因為Apache不在端口443上監聽,我通過包含httpd-ssl.conf並在其中定義了VirtualHost來解決此問題。

這就是我最終得到的

JIRA安裝文件

server.xml

    <Service name="Catalina">
        <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" 
        maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" port="8080"
        protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"
        scheme="https" proxyName="JIRASERVERNAME" proxyPort="443" secure="true"/>
Apache Setup File

httpd.conf

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so 

ServerName JIRASERVERNAME

Include conf/extra/httpd-vhosts.conf

Include conf/extra/httpd-ssl.conf

httpd-vhosts.conf

<VirtualHost *:80>
    ServerName JIRASERVERNAME
    Redirect        /   https://JIRASERVERNAME/
</VirtualHost>

httpd-ssl.conf

 Listen 443 #This was already defined in here

<VirtualHost *:443>
    ServerName JIRASERVERNAME

    SSLEngine           On
    SSLCertificateFile      "C:\Program Files\Atlassian\JIRA\jre\server.crt"
    SSLCertificateKeyFile   "C:\Program Files\Atlassian\JIRA\jre\server.key"
    SSLProxyEngine      On

    ProxyRequests       Off
    ProxyPreserveHost   On

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass       /   http://JIRASERVERNAME:8080/
    ProxyPassReverse    /   http://JIRASERVERNAME:8080/

</VirtualHost>

我還注釋掉了VirtualHost配置所取代的所有行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM