У меня Apache Tomcat работает с включенным SSL. У меня есть HTTP-сервер Apache, действующий в качестве обратного прокси-сервера, поэтому если мои пользователи нажимают http: // myserver / tomcat /, они передаются на http: // myserver: 8080 .
ProxyPass /tomcat/ http://myserver:8080/
ProxyPassReverse /tomcat/ http://myserver:8080/
У меня также настроен HTTP-сервер Apache для SSL, поэтому, когда пользователи нажимают https: // myserver / tomcat /, они должны передаваться на https: // myserver: 8443 / .
С текущей конфигурацией ProxyPass & ProxyPassReverse они будут перенаправлены на URL не-ssl. Как настроить пропуск прокси-сервера таким образом, чтобы он перенаправлял на другой протокол и порт в зависимости от входящего запроса?
То есть, если кто-то входит через HTTPS, как я могу перенаправить его на свой tomcat @ https: // myserver: 8443 ?
Обновить:
@ Микрофон-Insch
Я старался:
NameVirtualHost *:443
<VirtualHost *:80>
ProxyPass /tomcat/ http://myserver:8080/
ProxyPassReverse /tomcat/ http://myserver:8080/
</VirtualHost>
<VirtualHost *:443>
ProxyPass /tomcat/ https://myserver:8443/
ProxyPassReverse /tomcat/ https://myserver:8443/
</VirtualHost>
Теперь, когда я захожу : https: // myserver / tomcat / я получаю "страница не найдена". В журнале ошибок я вижу "Файл не существует: / var / apache2 / htdocs / tomcat"
Это правильно, но я ожидал, что запрос будет перенаправлен на tomcat, работающий по адресу https: // myserver: 8443 / .
Думаю, мне нужно больше смотреть на виртуальные хосты, если что-то не выглядит явно неправильно.
NameVirtualHost
директива здесь. Также вам необходимо добавить соответствующие директивы для включения SSL внутри вашего<VirtualHost *:443>
раздела.