Tomcat:匹配端口 - 应用程序/ servlet

时间:2011-07-08 09:34:14

标签: security tomcat deployment configuration certificate

我尝试失败之后: Tomcat secure access

有谁知道如何在一个端口上运行一个服务于一个WAR(或特定servlet)的Tomcat实例,以及另一个端口下另一个WAR(或特定servlet)?

(我的目标是有一个带有客户端身份验证的servlet / app和另一个没有身份验证的应用程序。对我来说,Tomcat是白色或黑色似乎很奇怪:或者一切都是安全的或者没有任何东西。)

感谢。

2 个答案:

答案 0 :(得分:1)

您可以在server.xml中设置任意数量的连接器:

<Connector port="80" redirectPort="8443"/>    
<Connector port="8080" redirectPort="8443"/>    
<Connector port="999" redirectPort="8443"/>
<Connector port="8443" maxHttpHeaderSize="8192"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />

您还可以设置安全/ HTTPS端口。然后,您可以指示应用程序仅允许安全连接(因此是重定向端口的目的)或添加代码以找出连接使用的端口(有点hacky)。

然而,更简单的方法就是安装多个Tomcat - 一个安装和运行安全应用程序,另一个安装非安全应用程序 - 每个安装都在自己的端口上运行。

答案 1 :(得分:0)

您必须在Tomcat中为每个端口设置VirtualHosts(请参阅http://www.ex-parrot.com/~pete/tomcat-vhost.html)并在指定的虚拟主机中部署每个战争。这应该可以解决问题。