Nginx
重定向 SSL 證書請求 nginx
我家有兩台電腦。
computer1
正在接收所有 http(s) 請求(從框中)並包含域的網站domain1.com
。並且computer2
有域名的網站domain2.com
。所以我在nginx
domain2.com.conf
的文件夾中添加了一個:conf.d``computer1
server { listen 443; server_name *.domain2.com domain2.com; location / { proxy_pass https://192.168.1.22:$server_port/$uri$is_args$args; proxy_set_header Host $host:$server_port; } }
問題是當我嘗試訪問時
domain2.com
,返回的 SSL 證書是來自domain1.com
.我在Google上搜尋了指示 SSL 證書在哪裡的方式,我發現:
ssl on; ssl_certificate <path_to_certificate>; ssl_certificate_key <path_to_certificate>;
但顯然,問題在於證書在
computer2
而不是在computer1 上。如何將 SSL 證書請求重定向到computer2
?我沒有找到解決方案,也許我有錯誤的關鍵字。非常感謝你。
EDIT1:根據這個執行緒Nginx 代理到後端與 SSL 客戶端證書身份驗證。我已將此行添加
proxy_set_header X-SSL-CERT $ssl_client_cert;
到 domain2.com.conf。但它仍然無法正常工作。EDIT2:根據評論,這裡是 domain1.com 的配置文件: domain1.com.conf
server { listen 80; listen [::]:80; server_name domain1.conf; access_by_lua_file /usr/share/ssowat/access.lua; include conf.d/cvrd.fr.d/*.conf; location /yunohost/admin { return 301 https://$http_host$request_uri; } access_log /var/log/nginx/domain1.com-access.log; error_log /var/log/nginx/domain1.com-error.log; } server { listen 443 ssl; listen [::]:443 ssl; server_name domain1.com; ssl_certificate /etc/yunohost/certs/domain1.com/crt.pem; ssl_certificate_key /etc/yunohost/certs/domain1.com/key.pem; ssl_session_timeout 5m; ssl_session_cache shared:SSL:50m; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!aNULL:!eNULL:!LOW:!EXP:!RC4:!3DES:+HIGH:+MEDIUM; add_header Strict-Transport-Security "max-age=31536000;"; # Uncomment the following directive after DH generation # > openssl dhparam -out /etc/ssl/private/dh2048.pem -outform PEM -2 2048 #ssl_dhparam /etc/ssl/private/dh2048.pem; access_by_lua_file /usr/share/ssowat/access.lua; include conf.d/domain1.com.d/*.conf; include conf.d/yunohost_admin.conf.inc; include conf.d/yunohost_api.conf.inc; }
在 http(s) 級別做事,您將需要電腦 1 上域 2 的證書和私鑰。這是因為第一台電腦正在終止 SSL 連接。您無法通過代理電腦/網站傳遞此資訊。
但是,您可以使用 TCP 負載平衡器而不是 http 負載平衡器,而無需將證書和私鑰放在電腦上。TCP 負載平衡器只是在不終止 SSL 連接的情況下傳遞數據包。你可以在這裡閱讀 Nginx 指南。