後端機器配置高,前端機器(線路)速度快;這時候我們理所應當想到,反向代理加速用戶訪問速度。
本篇以 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
或者通配符)