gpt4 book ai didi

node.js - Docker中用于Express.js服务器的Nginx反向代理

转载 作者:行者123 更新时间:2023-12-02 19:48:12 24 4
gpt4 key购买 nike

在docker中,我有一个面向客户端的服务器容器,一个api服务器容器和一个在8000端口暴露在外面的nginx容器。在运行api和客户端服务器容器之后,我正在运行ngtxcode替换为以下内容的nginx容器:

events {
}
http {
server {
listen 80;
location /api {
proxy_pass http://server:9002;
}
location / {
proxy_pass http://client:9001;
}
}
}


通过向 nginx.confclient发出请求,我可以通过nginx验证 http://localhost:8000服务器是否正常工作。但是,如果我转到URL http://localhost:8000/blah,它将重定向到 http://localhost:8000/api并无法连接。

我通过使用单独的裸露端口运行 http://localhost/api容器来验证它实际上正在运行,并且按要求返回了结果。我该如何解决?

最佳答案

这可能是一个环境变量问题。我在docker-compose.yml上设置了PORT env var,但在Docekrfile中没有设置,添加它解决了这个问题。从docker-compose.yml删除PORT env var仍然可以工作。

关于node.js - Docker中用于Express.js服务器的Nginx反向代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62354669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com