过去,我使用主机容器将根 uri 路由到 tomcat webapp,如下所示:
<Host name="myapp.mydomain.com" appBase="webapps">
<Alias>myapp</Alias>
<Alias>myapp.mydomain.com</Alias>
<Context path="/myapp" docBase="myapp" debug="0"></Context>
<Context path="/" docBase="myapp" debug="0"></Context>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/tomcat" prefix="myapp_access_log." suffix=".txt" pattern="combined" resolveHosts="false"/>
</Host>
不过,我现在正在使用 Varnish,但这种方法似乎不起作用。我的 Varnish 的“default.vcl”文件中的相关代码指定此 web 应用程序的 GET 和 POST 请求直接传递到后端。虽然后端是“127.0.0.1”。这是否意味着 Tomcat 不会看到对“myapp.mydomain.com”发出的请求,而是看到对“127.0.0.1”发出的请求?
因此,对于我 server.xml 中的上述代码,似乎没有任何改变。我可以访问 myapp.mydomain.com/myapp 但 myapp.mydomain.com 仍会转到默认的 tomcat 页面。任何线索我可以做些什么来完成这项工作?