xChar
·2 months ago

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

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

  1. 绑定并解析目标域名 和一个任意域名
    例子:
www.laplace.cc
laplace.cc

mirror.laplace.cc
  1. 配置好SSL(www.laplace.cc或者通配符)

  2. 配置好Wordpress的链接重写规则 (rewrite
    Wordpress的例子:

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

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

前端A机器设置

  1. 绑定并解析目标域名
www.laplace.cc
laplace.cc
  1. 开启反向代理,指向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/
  1. 配置好SSL(www.laplace.cc或者通配符)
Loading comments...