我知道这违反了公认的惯例,但我需要在相同 Docker容器内的node.js服务器旁边运行Nginx。我没有问题旋转容器并让Nginx和Node一起工作。 Nginx适用于容器暴露的端口443。节点服务器侦听端口8080并由Nginx反向代理
location /node/index.js {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X_Forwarded_For $proxy_add_x_forwarded_for;
}
这是我找到的
https://example.com/text.txt
非常简单nodejs index.js & disown
,该服务器已配置为向日志文件输出一些诊断消息。这些消息告诉我服务器工作正常。https://example.com/node/index.js
我收到404错误。检查我的Nginx日志显示该请求确实在其Docker主机内到达Nginx。但是,检查节点服务器日志文件表示请求永远不会被转发。
我不清楚为什么会发生这种情况。从Nginx在Docker容器中运行时我可以看出,它无法充当同一容器内运行的Node的反向代理。
为了更好的衡量,我尝试了EXPOSing Node端口,8080并使用-p 8080:8080 -p 443:443
启动Docker容器,但这没有任何区别。我非常感谢任何能够对这里发生的事情有所了解的人。