我的tomcat 6服务器上运行了两个WAR文件。
如何设置每个WAR只侦听一个端口? 例如:
端口443 =>只能访问a.war
port 8000 =>只能访问b.war
答案 0 :(得分:3)
我设法使用以下设置配置上述方案:我在 webapp 文件夹下创建了两个名为 443 和 8000 的文件夹,并进行了配置两个服务元素指向两个不同的文件夹,并在两个不同的端口上进行侦听。
server.xml中
<Service name="Catalina">
<Connector port="8000" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="${catalina.base}/conf/.keystore" keystorePass="xxxxx"
clientAuth="false" sslProtocol="TLS" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps/8000"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="Apple"/>
</Host>
</Engine></Service>
<Service name="Catalina2">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="${catalina.base}/conf/.keystore" keystorePass="xxxxx"
clientAuth="false" sslProtocol="TLS" />
<Engine name="Catalina2" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps/443"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine></Service>