0
我們有nginx運行兩個服務器(端口80和443)。這些proxy_pass
我們的上游:443上的Nginx,但節點處理SSL證書
upstream app_nodes {
ip_hash;
server 127.0.0.1:3000;
server 127.0.0.1:3001;
}
upstream app_nodes_https {
ip_hash;
server 127.0.0.1:8000;
server 127.0.0.1:8001;
}
對於端口80,這很好。但是,對於443,這失敗了,因爲我們沒有在nginx中定義ssl證書。我們需要我們的node.js應用程序(監聽端口8000/8001)來處理證書以動態支持多個域。
有沒有辦法讓nginx簡單地代理我們的上游服務器,讓他們處理ssl?
謝謝
編輯:下面是443
server {
listen 443;
gzip on;
gzip_types text/plain application/json application/ocet-stream;
location/{
proxy_pass https://app_nodes_https;
add_header X-Upstream $upstream_addr;
add_header X-Real-IP $remote_addr;
include /etc/nginx/proxy_params;
}
}
做nginx -t
我們的服務器模塊實際上給出了https protocol requires SSL support
由於您不能查看流量的HTTP部分,如果nginx不是SSL端點,您需要使用普通TCP進行負載平衡。請參閱[nginx負載平衡 - tcp和udp負載平衡器](https://www.nginx.com/resources/admin-guide/tcp-load-balancing/)。 –
它說TCP是默認的,大概只是'listen 443;'我們用的是TCP – dzm