dnsmasqを使用したNginx '解決できません(5:ジョブが拒否されました)'

dnsmasqを使用したNginx '解決できません(5:ジョブが拒否されました)'

docker、nginx、およびuwsgiを使用してdjangoサイトを設定しようとしています。リバースプロキシとして使用されるnginx dockerコンテナ(ceca-nginx-proxyと呼ばれる)と、次のものと通信する別のnginx(ceca-nginx)コンテナがあります。 uwsgi(ceca-uwsgi)、curl(with)を使用してceca-nginxコンテナに接続でき、ceca-uwsgiコンテナでdjangoサイトが実行されています。問題はceca-nginxプロキシを介してサイトをインポートしたい場合です。 :ceca -nginx-proxyエラーログにこのエラーが表示されました。curl --resolve http://test.ceca.com http://172.17.0.7

ceca-nginxを確認できません(5:ジョブ拒否)、クライアント:172.17.0.1、サーバー:*

  • 172.17.0.1は割り当てられたドッカー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
    

関連情報