如何使proxy_pass的NGINX反向代理进入正确的IP/解析容器的主机名?我认为指向公开的Docker嵌入式DNS的resolver是理想的。
上下文: Debian主机(不是被篡改的) NGINX。Docker容器位于同一个主机上,并且必须在overlay网络上运行,并且能够正常工作。
我在这方面做了几个小时的实验和阅读,类似的帖子包括:
https://stackoverflow.com/questions/35744650/docker-network-nginx-resolver
https://stackoverflow.com/questions/39729663/query-docker-embedded-dns-from-host
我没能让nslookup和领事以及其他的DNSmasq公司一起工作。
socat方法几乎把我弄到了那里,但它解决并释放了非公开(非覆盖)网络IP。
发布于 2020-01-04 09:53:45
你想达到什么目的?据我所知,当运行一个码头容器时,你应该在码头主机上打开它的端口。这样,nginx代理配置就可以指向本地地址上所需的端口(localhost/127.0.0.1)。
例如,我将运行:docker run -p 8080:8080 myapp
然后用以下方式配置Nginx:
location / {
proxy_pass http://127.0.0.1:8080;
... other desired options ...
}https://serverfault.com/questions/997578
复制相似问题