ниже - моя конфигурация httpd.conf.У меня есть сервер Tomcat в качестве внутреннего сервера, и я использую веб-сервер Apache в качестве прокси-сервера для моего сервера Tomcat.
Ниже конфигурация работает нормально для всех веб-страниц, где сеанс не требуется.
При дальнейшем изучении я заметил, что JSESSIONID меняется при каждом веб-запросе, что означает, что идентификатор не сохраняется при отправке запроса и ответа через HTTP-сервер Apache.
Обратите внимание, что приЯ пытался выставить сервер Tomcat напрямую в веб. JSESSIONID является постоянным и работает, как и ожидалось.Однако в качестве требования безопасности нам нужно использовать сервер Tomcat только в качестве внутреннего внутреннего сервера.
Поэтому я не уверен, почему серверу apache http не нравится правильно обрабатывать JSESSIONID.Обратитесь к нам за помощью и сообщите мне, чего мне не хватает в моей конфигурации.
Примечание. Нам не нужна настройка балансировщика нагрузки, поэтому я не рассматриваю модуль mod_proxy_balancer в данный момент.
<VirtualHost *:443>
ServerName www.external.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
AddOutputFilterByType SUBSTITUTE text/html
ProxyPreserveHost off
ProxyPass / http://localhost:8080/internal/
ProxyPassReverse / http://localhost:8080/internal/
Substitute "s|http://localhost:8080/internal|https://www.external.com|i"
SSLProtocol all
SSLEngine on
SSLCertificateFile C:/keys/site/external_cert.cer
SSLCertificateKeyFile C:/keys/site/www_internal_private.p12.pri.pem
SSLCertificateChainFile C:/keys/site/Intermediate_CA.cer
</VirtualHost>
Веб-сервер Apache - это Apache 2.4, а движок Tomcat - Tomcat 8.5
.