Docker Tomcat的Nginx服务器代理(简单是…;?否)
我已经创建了一个docker compose文件来加速nginx和tomcat映像。我使用卷文件,如/etc/nginx/nginx.conf和/etc/nginx/conf.d/app.conf Tomcat也一样,但有xml配置文件和WebApp 两个都能自行旋转并运转良好。我可以浏览到Nginx,在它们各自的端口81/8080上获得welcom页面和Tomcat页面 但是,我不能将请求代理给后端tomcat。我承认,我是阿帕奇,多年来一直如此,但我需要进行实验 我的nginx.conf没有改变,它仍然是默认的。我有一个用于tomcat应用程序的app.conf(如下)。我确实尝试过在tomcat Dockerfile中使用default.conf,但它仍然保留在我的app.conf旁边,因此可能导致了问题? 我的app.conf配置在这里:(抱歉,无法正确输出代码) tomcat:8080是docker compose文件中服务的名称。 任何帮助都将不胜感激 谢谢,, 克雷格 docker-compose.yml供参考; 版本:“3”Docker Tomcat的Nginx服务器代理(简单是…;?否),docker,tomcat,nginx,Docker,Tomcat,Nginx,我已经创建了一个docker compose文件来加速nginx和tomcat映像。我使用卷文件,如/etc/nginx/nginx.conf和/etc/nginx/conf.d/app.conf Tomcat也一样,但有xml配置文件和WebApp 两个都能自行旋转并运转良好。我可以浏览到Nginx,在它们各自的端口81/8080上获得welcom页面和Tomcat页面 但是,我不能将请求代理给后端tomcat。我承认,我是阿帕奇,多年来一直如此,但我需要进行实验 我的nginx.conf没有
services:
nginx:
build: ./nginx
image: nginx:evf
command: nginx -g "daemon off;"
networks:
- evf
container_name: evf-nginx
volumes:
- ./volumes/config/nginx-evf.conf:/etc/nginx/conf.d/nginx-evf.conf
- ./volumes/config/default.conf.disabled:/etc/nginx/conf.d/default.conf.disabled
ports:
- "81:80"
tomcat:
image: tomcat
working_dir: /usr/local/tomcat
volumes:
- ./volumes/config/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml
- ./volumes/webapps/EVF.war:/usr/local/tomcat/webapps/EVF.war
networks:
- evf
container_name: evf-tomcat
ports:
- "8080:8080" #expose 8080 externally to test connectivity.
networks:
evf:
谢谢,在您的nginx配置中,您有
listen*:81
,但您正在使用“81:80”
公开端口80
因此,请使用“81:81”
公开端口81
,或者将nginx配置更改为侦听*:80
如果第二个选项不起作用,请尝试通过更改docker compose.yml中的卷文件来替换原始nginx配置:
volumes:
- ./nginx/nginx-evf.conf:/etc/nginx/conf.d/default.conf
你能把docker compose.yml
贴出来吗?听起来好像你还没有链接tomcat和nginx容器或者为它们创建网络。当然,这里是。。。所以你没有定义evf网络是否是外部的?嗯,我假设它是内部的。我想当我点击代理时,代理知道内部网络evf并相应地传递?只需在evf
部分后添加external:false
。我甚至不知道你有没有合法的符号,有一周的假期。你说得对,我把港口弄错了方向。但是,它仍然不起作用,现在出现502网关错误。Nginx正在报告“连接到上游时连接()失败(111:连接被拒绝)”,您的Tomcat正在运行吗?是,Tomcat正在运行。我取得了进步,但在前进的过程中仍然会犯错。我很高兴离开这个职位,因为它没有什么成就。如果需要,将开始一个新的职位。
volumes:
- ./nginx/nginx-evf.conf:/etc/nginx/conf.d/default.conf