我可以在端口443上安全地运行Tomcat,在8080上安全地运行Tomcat

让我解释一下我的情况。

目前,我在Tomcat 6上运行了很多应用程序,默认端口为8080。

我刚刚创建了一些需要登录的应用程序。我将购买一个SSL证书来安装在这台服务器上。

我不喜欢使用端口8443的想法,因为它使URL更复杂。 如果我在端口80上运行Tomcat,我必须更改几十个链接,我必须以root身份运行Tomcat(而不是tomcat)。

在端口8080上运行不安全的应用程序但是在端口443上运行安全运行是否有任何问题?

我想我的设置会有如下所示的url:

http://mydomain.com:8080/report/controller?id=weather

https://mydomain.com/secure/controller?id=profile

这可能吗?

是的,这完全没问题。 只需配置连接器即可使用相应的端口。 但对于443我猜测根也是必需的。

在8080上设置HTTP连接器,在8443上设置HTTPS连接器。在声明中添加proxyPort属性并将其设置为默认HTTP和HTTPS端口(分别为80和443)。 将防火墙重定向规则设置为80到8080以及443到8443.然后,服务器将接受常规的http和https URL,而无需指定端口号。

以下是这些连接器的示例声明。

   

这里有一些重定向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