后端机器配置高,前端机器(线路)速度快;这时候我们理所应当想到,反向代理加速用户访问速度。
本篇以 WordPress 为例,记录一些在设置时候的注意事项:如果碰到样式表失效
、后台无法访问
、重定向次数过多
,可以参考下面的内容!
准备#
- 速度快的服务器 A
- 后端源站服务器 B
首先,一个有效的 nginx 反向代理,需要源站可以以域名的方式正常访问,例如我们准备设置的www.laplace.cc
那么www.laplace.cc
倘若可以访问,代表它解析在了B机器
上,我们需要做的却是把www.laplace.cc
解析在A机器
上,这样很矛盾,需要这样:
在B机器
上绑定另一个域名#
例如 mirror.laplace.cc
在A机器
上绑定目标域名#
例如www.laplace.cc
, 然后编辑 nginx 反代文件指向mirror.laplace.cc
小结#
- 后端网站不能是
IP:端口
; - 后端需要开启 SSL;
- Wordpress 后台固定连接需要设置成目标域名(例如
www.laplace.cc
); - 后端另外绑定一个域名,前端来反代它;
- 前端后端使用相同一个的 SSL 证书即可!
- 反代规则中,源站带有 https(例如
https://mirror.laplace.cc
) - 下面给出了一个设置例子
详细配置:#
后端 B 机器设置#
- 绑定并解析目标域名 和一个任意域名
例子:
www.laplace.cc
laplace.cc
mirror.laplace.cc
-
配置好 SSL(
www.laplace.cc
或者通配符) -
配置好 Wordpress 的链接重写规则 (
rewrite
)
Wordpress 的例子:
location /
{
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
前端 A 机器设置#
- 绑定并解析目标域名
www.laplace.cc
laplace.cc
- 开启反向代理,指向
https://mirror.laplace.cc
一个例子:
#PROXY-START/
location ^~ /
{
proxy_pass https://de-mirror.laplace.cc;
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_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
# proxy_hide_header Upgrade;
#Persistent connection related configuration
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_filepC4FuOQB 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_filepC4FuOQB 1;
expires 1m;
}
if ( $static_filepC4FuOQB = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/
- 配置好 SSL(
www.laplace.cc
或者通配符)