使用场景
以下场景都为假设
源站服务器在美国洛杉矶,国内用户直接访问,因为源站服务器到国内,会绕道丢包等,所以体验差。
反向代理服务器A,坐标美国洛杉矶,国内用户直接访问走CN2 | 9929等优质线路,稳定不丢包,体验好。
这时候就可以用源站服务器落地建站,然后反向代理服务器去反向代理。
准备工作
在源站服务器上
以宝塔为例
域名: demo.com
IP: 114.5.14.19
(这里无需用DNS解析到源站服务器)
新建一个站点,名称为demo.com,然后把你的站点搭建好,然后把SSL设置上(不设置也可以)
在反代服务器上
以Nginx Proxy Manager为例
域名: demo.com
IP: 66.66.66.66
安装Nginx Proxy Manager
以debian/ubuntu为例
先安装docker
apt-get install docker
apt-get install docker-compose
拉取容器并部署
1. 新建一个文件夹并进入
mkdir nginx && cd nginx
2. 新建文件,并写入内容
vim docker-compose.yml
version: '3'
services:
app:
image: 'chishin/nginx-proxy-manager-zh:latest'
restart: always
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
3. 开始部署
docker-compose up -d
使用Nginx Proxy Manager
1. 进入面板
访问ip:81
默认信息
Email: admin@example.com
Password: changeme
2. 配置反代
点击代理服务,添加代理,域名填写demo.com
,协议http/https,ip填写114.5.14.19
,端口80/443,然后点击SSL,申请一个新的证书即可。
部署生效
将域名解析改为反代机的ip即可
拓展
如果开启了宝塔Nginx防火墙,需要在后端服务器的Nginx防火墙页面,点击站点界面,把CDN选项勾上。不然前端触发防火墙会把反代IP给拉黑。
如果要打包带走Nginx Proxy Manager数据,直接打包新建的数据目录(上文的nginx文件夹)即可,将数据文件解压,执行命令即可部署
关闭容器: docker-compose down
重新拉取: docker-compose pull
开启容器: docker-compose up -d