如何将 nginx 反向代理设置为没有证书的 SSL 站点?

如何将 nginx 反向代理设置为没有证书的 SSL 站点?

有一个使用 TCP 透传的函数如下:

stream {
    upstream web_server {
        # the site to be visited is https://whatismyip.com, below is its real address
        server 104.27.194.88:443;
    }

    server {
        listen 443;
        ssl_preread on;
        proxy_pass web_server;
    }
}

参考

因此,如果我在浏览器的“https://”后输入该 nginx 服务器的公网 IP 地址,在所有防火墙都允许的情况下,我是否真的可以访问目标网站?

实际上我得到的是是否允许来自 nginx 服务器的 ssl 证书,然后允许,但是被 cloudflare 禁止,返回 403。

如果出了问题,如何改进?谢谢。

答案1

首先,您需要更改您的hosts文件(如果您有权访问 DNS 服务器配置,则需要更改您的 DNS),并添加类似以下内容的条目:

192.168.1.10 whatismyip.com

或者对于 DNS:

whatismyip.com IN A 192.168.1.10

192.168.1.10Nginx 监听的 IP 在哪里?在浏览器中使用https://whatismyip.com并且不连接IP。

配置应该使用主机名,因为 whatismyip.com 的 IP 地址可能会改变:

stream {
    upstream web_server {
        server whatismyip.com:443;
    }

    server {
        listen 443;
        ssl_preread on;
        proxy_pass web_server;
    }
}

相关内容