我有几个应用程序服务器(通过PM2)运行多个Node应用程序.
我有一台Nginx服务器,该服务器具有域的SSL证书和Node应用程序的反向代理.
server {
listen 443 ssl;
server_name
geolytix.xyz;
ssl_certificate /etc/letsencrypt/live/geolytix.xyz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/geolytix.xyz/privkey.pem;
location /demo {
proxy_pass http://159.65.61.61:3000/demo;
proxy_set_header HOST $host;
proxy_buffering off;
}
location /now {
proxy_pass https://xyz-heigvbokgr.now.sh/now;
proxy_set_header HOST $host;
proxy_buffering off;
}
}
这仅适用于应用程序服务器. Zeit Now部署的代理产生错误的网关.如果我转到部署的Zeit Now地址,则应用程序本身将按预期工作.
有人知道我是否可能会缺少一些设置以代理Zeit Now吗?
最佳答案
现在,服务器需要使用SNI进行https连接.像几乎所有现代Web服务器一样.
您需要添加
您需要添加
proxy_ssl_server_name on;
您的配置.
最小的位置块如下:
location / {
proxy_set_header host my-app.now.sh;
proxy_ssl_server_name on;
proxy_pass https://alias.zeit.co;
}