Centos 7, Apache 2.4, TomCat 7.0.52, Java 1.7
Я пытаюсь настроить Apache для прокси-сервера tomcat (под управлением Jira / Confluence) с использованием HTTPS:
(HTTPS: 443) -> ApacheServer -> (HTTP: 8090 или HTTPS: 8091) TomCat
В настоящее время проксирование HTTP работает отлично, но я хочу, чтобы HTTPS работал. Я не возражаю, если соединение между Apache и Tomcat будет SSL (на одном сервере).
Когда я приезжаю https://confluence.company.co.uk/ Я получаю /var/www/html/index.html, а не прокси.
Вот Server.xml от tomcat:
<Connector port="8090" connectionTimeout="20000" redirectPort="8443"
maxThreads="200" minSpareThreads="10"
enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8" />
<Connector port="8091" proxyPort="443" proxyName="confluence.company.co.uk" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false"
maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" protocol="HTTP/1.1"
redirectPort="8443" useBodyEncodingForURI="true" scheme="https" secure="true" />
Строки изменены с /etc/httpd/conf.d/ssl.conf по умолчанию из Apache:
ServerName confluence.company.co.uk:443
SSLCertificateFile /etc/pki/tls/certs/company.pem
SSLCertificateKeyFile /etc/pki/tls/private/company.key
Конфигурация Apache VHost (в /etc/httpd/conf.d/proxy_vhost.conf):
<VirtualHost *:80>
ServerName confluence.company.co.uk
ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>
<Location />
AuthType Basic
AuthName "Proxy Auth"
AuthUserFile /var/www/company-auth/CONFLUENCE/.htpasswd
Require user ukuser
Satisfy any
Deny from all
Allow from 192.168.0.0/21
</Location>
ProxyPreserveHost On
ProxyPass / http://confluence.company.co.uk:8090/
ProxyPassReverse / http://confluence.company.co.uk:8090/
</VirtualHost>
<VirtualHost *:443>
SSLProxyEngine On
ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>
ProxyPreserveHost On
ProxyPass / https://confluence.company.co.uk:8091/
ProxyPassReverse / https://confluence.company.co.uk:8091/
</VirtualHost>
Предлагаю вам включить AJP коннектор как в Tomcat, так и в Apache httpd. Этот двоичный протокол предназначен для проксирования Java HTTP. Его использование может сэкономить время и усилия, а также снизить требования к пропускной способности и ресурсам.
Кстати, <Proxy *>
директива не имеет отношения к обратным прокси.