【发布时间】:2021-02-04 17:41:40
【问题描述】:
这是我需要的摘要:
- 在一个 Tomcat 8 实例中运行多个应用程序。
- 这些应用被分解(未打包为 WAR),需要在 /misc/ 中
- 它们需要以 ROOT 身份运行(即 URL 末尾没有上下文路径)
我已经设法通过使用 Tomcat 的虚拟主机将多个应用程序作为 ROOT 来执行。在/var/lib/tomcat8/conf/server.xml,我有:
<Host name="qa01" appBase="qa01"
unpackWARS="true" autoDeploy="true">
<Alias>qa01.example.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="qa01_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
然后,我将 nginx 配置为:
server {
listen 80;
listen [::]:80;
server_name qa01.example.com;
access_log /var/log/nginx/qa01-access.log;
error_log /var/log/nginx/qa01-error.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}
到目前为止一切顺利,我测试了它,它肯定指向/var/lib/tomcat8/qa01/ROOT/index.html
当我需要这个应用程序改为 /misc/qa01/webapps/ROOT/ 时,问题就来了。
我尝试使用以下内容添加/var/lib/tomcat8/qa01/ROOT/META-INF/context.xml,但没有成功。
<Context docBase="/misc/qa01/webapps/ROOT/">
</Context>
有人知道我做错了什么吗?
【问题讨论】: