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