Nginx 与 dnsmasq '无法解析(5:操作被拒绝)'

Nginx 与 dnsmasq '无法解析(5:操作被拒绝)'

我正在尝试使用 docker、nginx 和 uwsgi 设置一个 django 站点:我有一个用作反向代理的 nginx docker 容器(称为 ceca-nginx-proxy)和另一个与 uwsgi 通信的 nginx (ceca-nginx) 容器容器(ceca-uwsgi),我可以使用curl(with)连接到ceca-nginx容器,并且我让django站点在ceca-uwsgi容器中运行,问题是当我想通过ceca-nginx获取站点时代理:我在 ceca-nginx-proxy 错误日志中收到此错误:curl --resolve http://test.ceca.com http://172.17.0.7

ceca-nginx 无法解析(5:操作被拒绝),客户端:172.17.0.1,服务器:*.ceca.com,请求:“GET / HTTP/1.1”,主机:“172.17.0.8”

  • 172.17.0.1是分配的docker ip
  • *.ceca.com 是 ceca-nginx-proxy 的 nginx 配置中定义的 server_name
  • 172.17.0.8 是 ceca-nginx-proxy ip
  • ceca-nginx-proxy反向代理的服务器块是:

    server {
        listen 80;
        server_name *.ceca.com;
        error_log   /tmp/proxy_error_nginx.log warn;
        access_log  /tmp/proxy_access_nginx.log;
    
        location / {
            set $example ceca-nginx;
            resolver 127.0.0.1;
            proxy_pass http://$example;
        }
    } 
    

    我在同一台机器上运行 dnsmasq 来解析 /etc/hosts 中的主机名(来自 docker 链接容器的主机名),如下所示:

    dnsmasq -q -8 /tmp/dnsmasq.log --port 53 -R -u root
    

    对于我在 dnsmasq.log 中看到的内容,主机名解析正常 [1],但 nginx 抱怨并返回“502 Bad Gateway”页面。如果有人能帮助我,我将永远感激不已,如果我们见面的话,我会买很多啤酒和蕨类植物。

    [1]
    
    Jun  6 21:39:47 dnsmasq[321]: query[A] ceca-nginx from 127.0.0.1
    Jun  6 21:39:48 dnsmasq[321]: /etc/hosts ceca-nginx is 172.17.0.7
    Jun  6 21:39:48 dnsmasq[321]: query[AAAA] ceca-nginx from 127.0.0.1
    

相关内容