Назад | Перейти на главную страницу

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

Если этот коннектор используется в конфигурации прокси, настройте 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.