gpt4 book ai didi

tomcat - 使用 tomcat 7 https 服务器配置 mod_proxy apache https 服务器

转载 作者:行者123 更新时间:2023-11-28 22:52:27 25 4
gpt4 key购买 nike

我是 web 服务器配置的新手,这里是场景,我们有一个 hybris tomcat 服务器运行在 9002 上用于 https 和 9001 上用于 http。我需要使用 mod_proxy 服务器配置 apache web 服务器,它将通过 80 端口打开 https 和 http。我尝试为 tomcat https 和 http 站点配置 mod_proxy,但该站点仅在 http 中工作。客户只允许 80 端口,任何人都可以帮助我解决方案。

LoadModule headers_module modules/mod_headers.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so

<VirtualHost *:80>
DocumentRoot /var/www/html
ProxyPreserveHost On
ProxyPass / http://tomcatserver.ip:9001/
ProxyPassReverse / http://tomcatserver.ip:9001/
</VirtualHost>

<VirtualHost *:443>
DocumentRoot /var/www/html
ProxyPreserveHost On
ServerName webserver.ip
SSLEngine on
SSLProxyEngine On
ProxyPass / https://tomcatserver.ip:9002/
ProxyPassReverse / https://tomcatserver.ip:9002

SSLCertificateFile /etc/ssl/certs/webserverdomain.crt
SSLCertificateKeyFile /etc/ssl/certs/webserverdomain.key

</VirtualHost>

server.xml配置

<Connector port="${tomcat.http.port}"
maxHttpHeaderSize="8192"
maxThreads="${tomcat.maxthreads}"
protocol="org.apache.coyote.http11.Http11Protocol"
executor="hybrisExecutor"
enableLookups="false"
acceptCount="100"
connectionTimeout="20000"
URIEncoding="UTF-8"
disableUploadTimeout="true"
proxyName="webserverdomainname" proxyPort="80" /> />

<Connector port="${tomcat.ssl.port}"
maxHttpHeaderSize="8192"
maxThreads="150"
protocol="org.apache.coyote.http11.Http11Protocol"
executor="hybrisExecutor"
enableLookups="false"
acceptCount="${tomcat.acceptcount}"
connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="UTF-8"
SSLEnabled="true"
proxyName="webserverdomainname"
proxyPort="443"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol = "TLS"
keystoreFile="${catalina.home}/lib/keystore"
keystorePass="123456"

这里是tomcat server.xml文件谢谢@christopher @Benoit

最佳答案

这里发生的是 SSLProxyEngine 正在检测一个无效的 ssl 证书,所以你需要明确地告诉他不要检查任何东西!

此配置适用于开发,但不适用于生产,在生产中,您应该卸载 ssl 证书并将所有流量发送到 http,并使用类似 'RequestHeader set X-Forwarded-Proto "https"' 的标志并添加一个进入 Tomcat 配置的阀门

为此更改您的 Apache 配置:

<VirtualHost *:443>
DocumentRoot /var/www/html
ProxyPreserveHost On
ServerName webserver.ip
SSLEngine on
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyPass / https://tomcatserver.ip:9002/
ProxyPassReverse / https://tomcatserver.ip:9002

SSLCertificateFile /etc/ssl/certs/webserverdomain.crt
SSLCertificateKeyFile /etc/ssl/certs/webserverdomain.key
</VirtualHost>

关于tomcat - 使用 tomcat 7 https 服务器配置 mod_proxy apache https 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36186424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com