클라이언트에서받은 https 요청이 https를 통해 업스트림 서버로 전달되도록 Nginx 서버를 리버스 프록시로 구성하려고합니다.
내가 사용하는 구성은 다음과 같습니다.
http {
# enable reverse proxy
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for;
upstream streaming_example_com
{
server WEBSERVER_IP:443;
}
server
{
listen 443 default ssl;
server_name streaming.example.com;
access_log /tmp/nginx_reverse_access.log;
error_log /tmp/nginx_reverse_error.log;
root /usr/local/nginx/html;
index index.html;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_verify_client off;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /
{
proxy_pass https://streaming_example_com;
}
}
}
어쨌든 리버스 프록시를 사용하여 파일에 액세스하려고하면 리버스 프록시 로그에 오류가 발생합니다.
2014/03/20 12:09:07 [오류] 4113079 # 0 : * 1 SSL_do_handshake () 실패 (SSL : error : 1408E0F4 : SSL 루틴 : SSL3_GET_MESSAGE : 예기치 않은 메시지) 업스트림에 SSL 핸드 셰이 킹하는 동안 클라이언트 : 192.168.1.2, 서버 : streaming.example.com, 요청 : "GET /publishers/0/645/_teaser.jpg HTTP / 1.1", 업스트림 : " https://MYSERVER.COM:443/publishers/0/645/_teaser.jpg " 호스트 : "streaming.example.com"
내가 뭘 잘못하고 있는지 알아?
아니요, 시도하지는 않았지만 아래 설명대로 옵션
—
Alex Flo
proxy_ssl_session_reuse off;
이 예상대로 작동했습니다.
지원되는 프로토콜에서 SSLv3을 제거하십시오. 안전하지 않으며 사용해서는 안됩니다. ssl_protocols SSLv3
—
user220703
upstream
WEBSERVER_IP를 proxy_pass 지시문에 직접 넣어 모듈을 사용하지 않고 동일한 오류가 발생했는지 확인 했습니까?