백엔드 서비스에 https도 제공하는 Nginx를 사용하여 역방향 프록시를 설정하려고합니다.Docker-compose + Nginx SSL 역방향 프록시
저는 3 개의 컨테이너를 가지고 있습니다. 하나는 mongodb 용 컨테이너이고, 하나는 .NET 코어 백엔드 응용 프로그램 컨테이너이고 다른 하나는 리버스 프록시 컨테이너입니다.
도커 컨테이너는 제대로 작동하는 것처럼 보이며 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를 컨테이너
어떤 아이디어를 반환?
'제대로 번역되지 않았습니다.'라는게 무슨 뜻입니까? 오 - 당신은'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