【教程】Nginx 反代HTTPS 遇到403的问题,以反代cloudflare为例

109次阅读

共计 1267 个字符,预计需要花费 4 分钟才能阅读完成。

好久没写文章了,来水一篇,顺便做下备忘
内容很水,至少简单的记录下,已经了解的大佬飘过哈
原文地址:https://blog.1234234.xyz/archives/34/
如下直接通过宝塔进行反代产生的配置文件:
location /
{
proxy_pass https://www.example.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_redirect off;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
add_header Cache-Control no-cache;
expires 12h;
}复制代码
访问后基本上就是 502、403 的状态码
但把上述的
proxy_pass https://www.example.com; 复制代码
改为 http:// 即可,原因自然是走了 http 的 80 端口,不是 https 的 443 端口
但如果开启了强制 https 跳转,此方法就没有效果了
如 Cloudflare 中,强制 HTTPS 选择仅支持单独为一个站点设置、或为账号下的全部站点设置,而页面规则免费账号也仅有 3 条,就算足够还得一条一个站点,着实麻烦。同时此方法也需要将 SSL 设置为关闭或灵活,若使用严格则也无效果。
通过一番搜索找到如下方法:
添加配置:
proxy_ssl_name www.example.com;
proxy_ssl_server_name on;
proxy_redirect off; 复制代码
即可,www.example.com 为目标站点,其实就是加了一层 SNI 头。
简单理解(可能有偏差):HTTP 服务器要判断请求对应的网站是根据 HOST 头判断的,而 HTTPS 需要与通信双方校验 SSL 证书的可信度,服务端需要先返回对应的 SSL 证书,而服务端判断到底返回哪个网站的证书便是需要 SNI 头,之前我们没有设置相关的 SNI 信息,当然不会代理成功。【教程】Nginx 反代 HTTPS 遇到 403 的问题,以反代 cloudflare 为例

前排支持大佬一波,另外问一下论坛快照能不能加一个截取翻页的功能,快照只能看到第一页,后面的看不到。【教程】Nginx 反代 HTTPS 遇到 403 的问题,以反代 cloudflare 为例先收藏了收藏【教程】Nginx 反代 HTTPS 遇到 403 的问题,以反代 cloudflare 为例

laozhang142857 发表于 2022-5-3 19:50
前排支持大佬一波,另外问一下论坛快照能不能加一个截取翻页的功能,快照只能看到第一页,后面的看不到。…

看个帖子内容就完事了
翻页的话快照数量就几何翻倍了【教程】Nginx 反代 HTTPS 遇到 403 的问题,以反代 cloudflare 为例MARK 一下,大佬对 frp 了解吗,我 frp 出去要么不能 https,要么网页加载出错,f12 说有些图片文件因为是 http 所有加载不出来绑定 收藏

正文完