让我解释一下我的情况。
目前,我有很多应用程序在 Tomcat 6 上运行,默认端口为 8080。
我刚刚创建了一些需要登录的应用程序。我将购买 SSL 证书以安装在此服务器上。
我不喜欢使用端口 8443,因为它使 URL 更加复杂。
如果我在端口 80 上运行 Tomcat,则必须更改数十个链接,并且必须以 root 身份运行 Tomcat(而不是 tomcat )。
在端口 8080 上运行不安全应用程序但在端口 443 上运行安全应用程序是否存在问题?
我想象我的设置将具有如下所示的 URL:
http://mydomain.com:8080/report/controller?id=weather http://mydomain.com:8080/report/controller?id=weather
https://mydomain.com/secure/controller?id=profile https://mydomain.com/secure/controller?id=profile
这可能吗?
在 8080 上设置 HTTP 连接器,在 8443 上设置 HTTPS 连接器。<Connector>
声明添加proxyPort
属性并将其设置为默认 HTTP 和 HTTPS 端口(分别为 80 和 443)。设置防火墙重定向规则从 80 到 8080 以及从 443 到 8443。然后服务器将接受常规的 http 和 https URL,而无需指定端口号。
以下是这些连接器的声明示例。
<Connector
maxSpareThreads='75'
port='8080'
proxyPort='80'
enableLookups='false'
maxThreads='150'
connectionTimeout='20000'
disableUploadTimeout='true'
minSpareThreads='5'
maxHttpHeaderSize='8192'
redirectPort='443'
acceptCount='200'
/>
<Connector
SSLEnabled='true'
keystoreFile='/path/to/keystore.jks'
maxSpareThreads='75'
port='8443'
proxyPort='443'
algorithm='SunX509'
enableLookups='false'
secure='true'
maxThreads='150'
connectionTimeout='20000'
disableUploadTimeout='true'
scheme='https'
minSpareThreads='5'
maxHttpHeaderSize='8192'
sslProtocol='SSL'
acceptCount='200'
clientAuth='false'
/>
以下是一些重定向 IPTABLES 命令:
# Redirect external packets
-A PREROUTING -j NAT-Port-Redirect
# redirect http traffic
-A NAT-Port-Redirect -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
# redirect https traffic
-A NAT-Port-Redirect -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)