我有一些在Tomcat上部署的Web应用程序,使用以下configuration:
<Engine ...> <Host name="a.mycompany.com" ...> <Host name="b.mycompany.com" ...> <Host name="c.mycompany.com" ...> </Engine>
对于这些应用程序中的每一个,我都可以通过以下两个URL访问它们:
http://x.mycompany.com/ http://x.mycompany.com/x
其中x是a , b或c 。
这是正常的,还是我做错了什么?
是的,这是默认configuration。
您已经将所有3个Web应用程序部署在单个Tomcat实例上,因此默认情况下它们可以被访问
http://<some-domain-url>/x其中x = a,b或c
你是否想限制模式?
http://a.mycompany.com/a或http://b.mycompany.com/b和
禁止 http://a.mycompany.com/b ?
然后尝试通过您的.net文件中的server.xml中的<Context>元素来嵌套Web应用程序
<Host name="a.mycompany.com" ...>
像这样:
<Host name="a.mycompany.com" appBase="webapps"> <Context path="/a" docBase="/a/"/> </Host> <Host name="b.mycompany.com" appBase="webapps"> <Context path="/b" docBase="/b/"/> </Host>
如果path设置为""那么您可以在ROOT上下文中获取应用程序,例如a.mycompany.com而不是a.mycompany.com/a