0
バックエンドサービス用のhttpsも提供するNginxを使用してリバースプロキシを設定しようとしています。Docker-compose + Nginx SSL逆プロキシ
私は3つのコンテナを持っています.1つはmongodb用、もう1つは.NETコアバックエンド用、もう1つはリバースプロキシ用です。
ドッカーのコンテナはうまくいくように見え、HTTPSを設定するまではうまくいきました。
https://localhost:8080からのリクエストがhttpポート上で実行されている.NETコアアプリケーションに正しく変換されないという問題があります。
問題は私のNginx confファイルにありますが、それを修正する方法がわかりません。私は、HTTPリクエストを行うと、それはERR_SSL_PROTOCOL_ERRORを返しますhttps://localhost:8080を使用した場合
worker_processes 1;
events { worker_connections 1024; }
http {
sendfile on;
upstream web {
server web:443;
}
server {
listen 8080;
location /upstream {
proxy_pass https://web;
proxy_ssl_certificate /etc/nginx/cert.pem;
proxy_ssl_certificate_key /etc/nginx/privkey.pem;
proxy_ssl_session_reuse on;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
server {
listen 443 ssl;
ssl_certificate_key /etc/nginx/privkey.pem;
ssl_client_certificate /etc/nginx/cert.pem;
ssl_verify_client off;
location/{
proxy_pass http://web;
}
}
}
、病気に戻って502不正なゲートウェイのエラーを取得。ターミナルで
、nginxのコンテナ戻り
任意のアイデア?
あなたは 'properly'に翻訳されていない何を意味するのですか?ああ - 'X-Forwarded-Proto'を追加しようとするかもしれないし、あなたのアプリケーションはそれを信頼する必要があるかもしれない。おそらく関連する:https://forums.iis.net/t/1178094.aspx?Rewriting+HTTPS+variable+based+ on + value + of + X + Forwarded + Proto – gusto2
役立つなら、これを試してみてください:https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion – Evis