我有 2 个 Web 应用程序在 AWS EC2 实例上的 docker 容器中的单个 Tomcat 上运行。一个 Web 应用程序是 100% 角度静态内容,另一个是 REST 应用程序。当我在笔记本电脑上运行网络应用程序时,一切运行良好。当我在 EC2 实例上运行 docker 容器并使用公共 IP 直接访问 Web 应用程序时,一切运行正常。但是,当我尝试通过 ELB 访问 Web 应用程序时,对静态内容的请求得到了很好的处理,但是对 REST 应用程序的请求失败并显示 403。我可以在 Tomcat 访问日志中看到 403 错误,所以我知道它们是被Tomcat接收。但是,REST 应用程序日志没有显示收到请求的证据。我在 REST 应用程序中添加了一个过滤器,用于记录收到的所有请求,但它没有显示通过 ELB 发送请求时收到的证据。
知道为什么会发生这种情况吗?有什么诊断建议吗?
我的码头文件...
FROM tomcat:8.0
LABEL maintainer="rossmillsiphone@gmail.com"
ADD voteride-web.war /usr/local/tomcat/webapps/
ADD voteride-ws.war /usr/local/tomcat/webapps/
ADD mysql-connector-java-5.1.9.jar /usr/local/tomcat/lib/
ADD server.xml /usr/local/tomcat/conf/
ADD context.xml /usr/local/tomcat/conf/
ADD email.properties /usr/local/tomcat/lib/
ADD logging.properties /usr/local/tomcat/conf
EXPOSE 8080
CMD ["catalina.sh", "run"]