![如何将 nginx 反向代理设置为没有证书的 SSL 站点?](https://linux22.com/image/766617/%E5%A6%82%E4%BD%95%E5%B0%86%20nginx%20%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E8%AE%BE%E7%BD%AE%E4%B8%BA%E6%B2%A1%E6%9C%89%E8%AF%81%E4%B9%A6%E7%9A%84%20SSL%20%E7%AB%99%E7%82%B9%EF%BC%9F.png)
有一个使用 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.10
Nginx 监听的 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;
}
}