WordPress-反向代理和举一反三

后端机器配置高，前端机器（线路）速度快；这时候我们理所应当想到，反向代理加速用户访问速度。

本篇以 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 机器设置

绑定并解析目标域名 和一个任意域名
例子：

Copy
www.laplace.cc
laplace.cc

mirror.laplace.cc

配置好 SSL（www.laplace.cc或者通配符）

配置好 Wordpress 的链接重写规则 （rewrite）
Wordpress 的例子：

Copy
location /
{
try_files $uri $uri/ /index.php?$args;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

前端 A 机器设置

绑定并解析目标域名

Copy
www.laplace.cc
laplace.cc

开启反向代理，指向https://mirror.laplace.cc
一个例子：

Copy
#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或者通配符）