我有一个运行在https://myexample.com:32437的网站。现在,我要使用URL https://myexample.com访问它。
我使用Nginx作为反向代理,并尝试配置上游,如
upstream cluster{
server myexample.com:32437;
}
server{
listen 80;
server_name myexample.com;
access_log /var/log/nginx/nginx.access.log;
error_log /var/log/nginx/nginx.error.log;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
location / {
proxy_pass https://cluster;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
但是这不起作用。我在浏览器中收到“ ERR_CONNECTION_REFUSED”错误。任何人都可以帮助我进行配置。
我认为问题是您没有设置HTTPS侦听器和有效证书,因为您正在尝试建立与https://myexample.com
的安全连接。
并且还请注意,如果您要代理传递的HTTPS流量,则应将上游配置为接受HTTPS连接。而且,由于您接受HTTPS连接,然后再代理到HTTPS,因此只需在“服务器”部分中指定一次证书设置即可。
将https侦听器和证书设置添加到服务器部分的配置中。
listen 443 ssl;
ssl_certificate /path_to_cert/server.crt;
ssl_certificate_key /path_to_key/server.key;
从配置中删除那些不需要的行:
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
这里是link,可以更详细地解释这种行为。