2016-07-16 18 views
1

にリダイレクト:私はhttp://www.example.com:8080 JIRA、サードパーティのSSL、私は次のような状況しているCentOSの

  • サードパーティSSLでJIRAにアクセスすることができる午前
  • VPS上

    1. JIRAをインストール(CentOSの5) HTTPSにインストール:/www.example.com
    2. サブドメインはhttp://jira.example.com

    私は何をしたいですfollowi ng:

    a。すべてのhttpをhttps にリダイレクトする。 https で動作するJIRA(8080)c。 jira.example.com https://www.example.com:8080

    私はAtlassianのガイドに従っていますが、(a)は達成できますが(b)と(c)は失敗します。

    これは私は何を考え出したていないことは、仮想ホストを設定する方法であるserver.xmlのコネクタ用のコード

    <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" 
    
           scheme="https" 
           proxyName="jira.example.com" 
           proxyPort="443" 
           secure="true" 
    
           /> 
    

    です。ポート443にVHが必要ですか?または80(jira.example.comの場合)

    私はAtlassianからSSLの使用方法についてのガイドを読みましたが、このガイドではCSRを生成してSSLを取得しています。私は今私のSSLを持っているので、どうすれば使えますか?私はガイドに示されているように必要なファイルを持っていません。

    これは、(JIRAのドキュメントから取られた)私のVHコードです:

    <VirtualHost *:443> 
        ServerName jira.example.com 
    
        ProxyRequests Off 
        ProxyVia Block 
        ProxyPreserveHost On 
    
        <Proxy *> 
         Require all granted 
        </Proxy> 
    
        ProxyPass/https://www.example.com:8080/  <--- If https works 
        ProxyPassReverse/https://www.example.com:8080/ 
    </VirtualHost> 
    

    任意のアイデア?ありがとう

  • 答えて

    0

    Apacheをリバースプロキシとして使用しているので、これを使用してJiraへのすべてのリクエストをプロキシし、SSL/TLSを処理させる必要があります。この機能を使用するには、証明書に含まれているドメインを確認する必要があります。

    a)証明書には、SANフィールドにjira.example.comが含まれています。この場合、設定は次のようになります。

    のserver.xml:

    <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" 
    
          scheme="https" 
          proxyName="jira.example.com" 
          proxyPort="443" 
    
    /> 
    

    vhost.conf:

    <VirtualHost *:80> 
        ServerName jira.example.com 
        DocumentRoot /var/www/jira/htdocs 
        RewriteEngine On 
        # strip Proxy header to mitigate CGI vuln (https://httpoxy.org) 
        RequestHeader unset Proxy 
        RewriteRule /(.*) https://jira.example.com/$1 [R=permanent,L,NC,NE] 
    
        CustomLog /var/www/jira/logs/access.log combined 
        ErrorLog /var/www/jira/logs/error.log 
    </VirtualHost> 
    
    <VirtualHost *:443> 
        SSLEngine On 
        SSLCompression off 
        SSLHonorCipherOrder On 
        SSLProtocol all -SSLv2 -SSLv3 
        SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA 
        SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown 
        SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire 
    
        SSLCertificateFile /etc/apache2/ssl/jira.example.com.crt.pem 
        SSLCertificateKeyFile /etc/apache2/ssl/jira.example.com.key.pem 
        SSLCertificateChainFile /etc/apache2/ssl/jira.example.com.crt_intermediate.pem 
    
    
        ServerName jira.example.com 
        DocumentRoot /var/www/jira/htdocs 
    
        Header always set Strict-Transport-Security "max-age=31536000" 
        # strip Proxy header to mitigate CGI vuln (https://httpoxy.org) 
        RequestHeader unset Proxy 
    
        RewriteEngine On 
    
        RewriteCond %{HTTP_HOST} !^jira.example.com$ 
        RewriteRule ^/(.*)$ https://jira.example.com/$1 [R=permanent,L,NC,NE] 
    
        CustomLog /var/www/jira/logs/access.log combined 
        ErrorLog /var/www/jira/logs/error.log 
    
        ProxyRequests Off 
        ProxyPreserveHost On 
        ProxyPass/http://127.0.0.1:8080/ 
        ProxyPassReverse/http://127.0.0.1:8080/ 
        <Proxy *> 
         Order deny,allow 
         Allow from all 
        </Proxy> 
    </VirtualHost> 
    

    この意志プロキシのApacheのすべての要求とのJiraに転送しますjira.example.comにアクセスしてください。また、プレーンhttp経由でjira.example.comにアクセスすると、httpsにリダイレクトされます。

    b)証明書にはwww.example.comのみが含まれます。この場合、例えば、あなたはjiraにアクセスする必要があります。 www.example.com/jira

    のserver.xml:JIRAが正しいリンクを生成するための最後の部分が重要である

    <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" 
    
          scheme="https" 
          proxyName="www.example.com" 
          proxyPort="443" 
    
    /> 
    
    [...] 
    
    <Context path="/jira" docBase="../jira" debug="0" reloadable="false" useHttpOnly="true"> 
    

    こと。

    vhost。CONF:

    <VirtualHost *:80> 
        ServerName www..example.com 
        DocumentRoot /var/www/jira/htdocs 
        RewriteEngine On 
        # strip Proxy header to mitigate CGI vuln (https://httpoxy.org) 
        RequestHeader unset Proxy 
        RewriteRule /(.*) https://www.example.com/$1 [R=permanent,L,NC,NE] 
    
        CustomLog /var/www/jira/logs/access.log combined 
        ErrorLog /var/www/jira/logs/error.log 
    </VirtualHost> 
    
    <VirtualHost *:443> 
        SSLEngine On 
        SSLCompression off 
        SSLHonorCipherOrder On 
        SSLProtocol all -SSLv2 -SSLv3 
        SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA 
        SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown 
        SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire 
    
        SSLCertificateFile /etc/apache2/ssl/www.example.com.crt.pem 
        SSLCertificateKeyFile /etc/apache2/ssl/www.example.com.key.pem 
        SSLCertificateChainFile /etc/apache2/ssl/www.example.com.crt_intermediate.pem 
    
    
        ServerName www.example.com 
        DocumentRoot /var/www/jira/htdocs 
    
        Header always set Strict-Transport-Security "max-age=31536000" 
        # strip Proxy header to mitigate CGI vuln (https://httpoxy.org) 
        RequestHeader unset Proxy 
    
        RewriteEngine On 
    
        RewriteCond %{HTTP_HOST} !^www.example.com$ 
        RewriteRule ^/(.*)$ https://www.example.com/$1 [R=permanent,L,NC,NE] 
    
        CustomLog /var/www/jira/logs/access.log combined 
        ErrorLog /var/www/jira/logs/error.log 
    
        ProxyRequests Off 
        ProxyPreserveHost On 
        ProxyPass /jira http://127.0.0.1:8080/jira 
        ProxyPassReverse /jira http://127.0.0.1:8080/jira 
        <Proxy *> 
         Order deny,allow 
         Allow from all 
        </Proxy> 
    </VirtualHost> 
    

    このセットアップでは、Jiraの中で、あなたの証明書を設定する必要はありませんが、その代わりにApache内のすべてのSSLものを行うことができるという利点があります。

    関連する問題