假设我们有两台VPS,一台作为反向代理服务器(前台),一台作为后台服务器。

步骤01: 后台服务器安装宝塔,安装一个默认网站

比如默认网站名字为 defaultwebsite.sky, 名字随意,网站为静态,安装一个加的SSL证书(https://myssl.com/create_test_cert.html)。随后在宝塔面板中将其设置为默认网站。

步骤02:在后台正常创建网站

比如创建网站01: www.houduan01.com

创建网站02: www.houduan02.com

正常安装Wordpress,网站申请SSL,其余操作先不要做,先不要开启伪静态

步骤03:前台创建反向代理服务器

创建两个反向代理服务器 www.qianduan01.com, www.qianduan02.com,只需要创建为纯静态的网站。网站申请SSL证书,以支持https。

然后创建反向代理服务器,详细流程可以参考宝塔官方教程:https://www.bt.cn/bbs/thread-43588-1-1.html

具体配置如下:(上图生成的默认配置)


#PROXY-START/

location ^~ /
{
    proxy_pass https://www.houduan01.com/;
    proxy_set_header Host www.houduan01.com;
    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;

    add_header X-Cache $upstream_cache_status;

    #Set Nginx Cache
    
    
    set $static_filewK1621qG 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
    	set $static_filewK1621qG 1;
    	expires 1m;
        }
    if ( $static_filewK1621qG = 0 )
    {
    add_header Cache-Control no-cache;
    }
}

#PROXY-END/

对于第二个反向代理服务器 www.qianduan02.com也是安装上述方式创建。

这个时候当我们访问 https://www.qianduan01.com的时候应该会出现www.houduan01.com的首页。如果访问失败,或者显示重定向次数过多,说明配置有错误。

在访问正常的前提下,继续配置。在www.houduan01.com的wp.config.php中添加如下代码:

define(‘WP_HOME’,’https://www.qianduan01.com’);

define(‘WP_SITEURL’,’https://www.qianduan01.com’);

配置成功以后,访问www.qianduan01.com/about/应该可以正常显示,不会跳转到www.houduan01.com/about/

现在可以配置伪静态了。

问题01:访问www.qianduan01.com/blog/,内容或者媒体资源暴露了houduan01.com的路径。

在反代配置中添加如下代码:

#Set Nginx Cache
proxy_set_header Accept-Encoding "";
sub_filter "first.rosetoy.site" "new.ensky.tech";
sub_filter_once off;

问题02: 访问www.houduan02.com的时候会跳转到www.houduan01.com

先创建一个default网站,并且创建一个假的SSL证书,设置为默认网站。

注意不要一直使用同一个浏览器,或者每次访问网站后把浏览器缓存全部清空一次。或者换几个浏览器用,比如Chrome多个标签,或者Safari,IE等换着用,还可以用手机的。

如果上述措施都不起作用,系统重装,然后先创建一个Default网站,再创建正常网站。

注意事项01: 注意https与http不要混淆,每个步骤使用的都是https