使用场景

以下场景都为假设

源站服务器在美国洛杉矶,国内用户直接访问,因为源站服务器到国内,会绕道丢包等,所以体验差。

反向代理服务器A,坐标美国洛杉矶,国内用户直接访问走CN2 | 9929等优质线路,稳定不丢包,体验好。

这时候就可以用源站服务器落地建站,然后反向代理服务器去反向代理。

准备工作

在源站服务器上

以宝塔为例
域名: demo.com
IP: 114.5.14.19

(这里无需用DNS解析到源站服务器)新建一个站点,名称为demo.com,然后把你的站点搭建好,然后把SSL设置上(不设置也可以)

在反代服务器上

以宝塔为例
域名: demo.com
IP: 66.66.66.66

首先配置好DNS解析,A记录66.66.66.66指向到demo.com
新建站点: demo.com,然后修改该站点的配置文件,新增一个location

location ^~ /
{
    proxy_pass https://114.5.14.19;
    proxy_set_header Host demo.com;
    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_http_version 1.1;
    proxy_set_header Connection "";
    add_header X-Cache $upstream_cache_status;
    proxy_ssl_server_name on;
    proxy_set_header Accept-Encoding "";
}

这里要自己修改的地方

proxy_pass处填入http://源站IP或者https://源站IP 。这里需要注意,如果源站是http,那么如果这个站点有域名验证,那么反向代理可能会不通过域名验证。所以如果想要兼容性好,源站服务器也开启https。如果没有兼容性问题的话源站服务器无需配置https,反代服务器开启https即可,这样性能会好一些

proxy_set_header这里放入域名,你反代什么域名,就填什么

额外注意

如果开启了宝塔Nginx防火墙,需要在后端服务器的Nginx防火墙页面,点击站点界面,把CDN选项勾上。不然前端触发防火墙会把反代IP给拉黑。

最后修改:2022 年 11 月 21 日
如果觉得我的文章对你有用,请随意赞赏