使用场景
以下场景都为假设
源站服务器在美国洛杉矶,国内用户直接访问,因为源站服务器到国内,会绕道丢包等,所以体验差。
反向代理服务器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给拉黑。