Разгрузка SSL с Apache на Tomcat где-то перезаписывается
Меня попросили обновить сервер под управлением Apache и Tomcat-6 на Debian Wheezy с HTTP на HTTPS. Я успешно получил и установил SSL-сертификаты на часть Apache и проверил, работают ли они (используя две разные проверки SSL).
Затем я добавил следующий блок /etc/apache2/sites-available/default-ssl
:
<VirtualHost *:80>
ServerName server.name
Redirect permanent / https://server.name/
</VirtualHost>
и это до конца <VirtualHost _default_:443>
блок в том же файле:
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
На стороне Tomcat, /etc/tomcat6/server.xml
Файл включает в себя два активных соединителя:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<Connector address="127.0.0.1" port="8009" protocol="AJP/1.3" redirectPort="8443" />
Теперь, когда я иду в https://server.name/app/main/login.jspx
Я получаю SSL-соединение, но оно исчезает после входа в систему.
Если я пойду к https://server.name/app
Я сразу же перенаправлен на http://server.name/app/main/login.jspx
(без SSL).
(И если я пойду просто https://server.name/
, Я в конечном итоге на странице перенаправления, определенной в /var/lib/tomcat6/webapps/ROOT/index.html
.)
Что я делаю неправильно? Нужно ли вместо этого использовать прокси AJP?
1 ответ
Если этот Соединитель используется в конфигурации прокси, настройте proxyName
, proxyPort
,
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443"
scheme="https"
proxyName="server.name"
proxyPort="443"
secure="true" />
Вам также нужно будет установить scheme
а также secure
атрибуты значений https
а также true
соответственно для https прокси.
Для перенаправления http на https на сервере apache попробуйте добавить директивы в конфигурации по умолчанию /etc/apache2/sites-available/000-default.conf
,