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ものを行うことができるという利点があります。