Tôi cố gắng định cấu hình máy chủ Nginx làm proxy ngược để các yêu cầu https mà nó nhận được từ máy khách cũng được chuyển tiếp đến máy chủ ngược dòng thông qua https.
Đây là cấu hình mà tôi sử dụng:
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;
}
}
}
Dù sao, khi tôi cố gắng truy cập một tệp bằng proxy ngược thì đây là lỗi tôi gặp phải trong nhật ký proxy ngược:
2014/03/20 12:09:07 [error] 4113079 # 0: * 1 SSL_do_handshake () không thành công (SSL: error: 1408E0F4: Các thói quen SSL: SSL3_GET_MESSAGE: tin nhắn bất ngờ) trong khi bắt tay SSL ngược dòng, client: 192.168.1.2, máy chủ: streaming.example.com, yêu cầu: "GET /publishers/0/645/_teaser.jpg HTTP / 1.1", ngược dòng: " https://MYSERVER.COM:443/publishers/0/645/_teaser.jpg " , máy chủ lưu trữ: "streaming.example.com"
Bất cứ ý tưởng những gì tôi đang làm sai?
proxy_ssl_session_reuse off;
làm cho nó hoạt động như mong đợi.
upstream
mô-đun bằng cách đặt trực tiếp WEBSERVER_IP vào chỉ thị proxy_pass để xem bạn có gặp lỗi tương tự không?