Разгрузка 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,