私はnginxを初めて使用しており、Docker-Composeを使用してリンクされたDOckerコンテナを設定しようとしています。502 Docker-Composeおよびnginx-proxyを使用しているゲートウェイのエラーが正しくありません
チュートリアルhereとjwilderのドキュメントhereに基づいて、私はDjangoコンテナの上にNginxプロキシを配置しようとしています。ドッキングウィンドウ-compose.ymlはそうのように構成されています
build: .
command: bash -c "sleep 5 && python -u reroute/manage.py runserver 0.0.0.0:8081"
volumes:
- .:/code
environment:
- PYTHONUNBUFFERED=0
- VIRTUAL_HOST=site1.com
- VIRTUAL_PORT=8081
ports:
- "8081:8081"
links:
- db
db:
image: postgres:latest
environment:
POSTGRES_PASSWORD: xxxxxx
POSTGRES_USER: xxxxxx
ports:
- "5432"
volumes:
- ./backups:/home/backups
nginx:
image: jwilder/nginx-proxy
restart: always
volumes:
- /var/run/docker.sock:/tmp/docker.sock
ports:
- "80:80"
そして、nginxのの.confファイル内の設定はそうのようになります。
server {
server_name _; # This is just an invalid value which will never trigger on a real hostname.
listen 80;
access_log /var/log/nginx/access.log vhost;
return 503;
}
upstream urls.mapquest.com {
## Can be connect with "bridge" network
# googleadtrafficredirect_web_1
server 172.17.0.4:8081;
}
server {
server_name urls.mapquest.com;
listen 80 ;
access_log /var/log/nginx/access.log vhost;
location/{
proxy_pass http://urls.mapquest.com;
}
}
私はnginxのプロキシがアプリケーション自体にリダイレクトします。 Ubuntuのホストファイルを編集して、指定した新しいドメインを指すようにしました。私はローカルでアプリケーションをデプロイする場合しかし、私は502不正なゲートウェイのエラーを取得し、nginxのコンテナのログに探してエラーを拒否した私は、接続を取得しています示しています
nginx.1 | 2016/06/21 17:39:00 [error] 24#24: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.17.0.1, server: urls.mapquest.com, request: "GET/HTTP/1.1", upstream: "http://172.17.0.4:8081/", host: "site1.com"
誰もが右方向に私を指すことができます何が問題になるでしょうか?
あなたのアプリはnginx-proxyなしで動作しますか?そして、なぜあなたがnginx-proxy用のconfファイルを持っているのか分かりません。 nginx-proxyのポイントは、あなたのサービスにリンクする以外に、nginx-proxyを設定する必要がない(またはめったにない)ことです。 –
私はconfファイルを必要に応じて含めました。いずれにしても、アプリケーション自体に問題があることが判明しました。私はリモートインスタンスを変更する前にコンテナをローカルでテストしていましたが、アプリが動作するためには特定の設定が必要であることを忘れていました。 – GreenGodot