1、单配置单域名重定向
网站更换域名,如原nntd.com换gxsan.com
在宝塔建立一个网站nntd.com,纯静态,添加一条重定向

2、国外vps反向代理国内VPS分流非国内,单配置多域名反向
cloudflare免费,但不快,用测速网站测试只有30%的在线率,自己弄个国外vps用NGINX反向自己国内VPS
建立一个网站把你要反向的域名全加入这里(如果ssl不是同一个的话你要分开来建立,或者你把所有的域名添加上去把IP全解释到这vps把ssl申请下来再作分流解释,续签的时候也要作一次),并修改/etc/hosts把你要反向的域名全绑定到你国内的vps的IP上(用这反向分流的配置,这步很重要而且是必须,如是负载后端的方式就不需要),然后你需要一个像dnspod这样的解释提供商,可以设定国外、国内走什么IP

如图上设置后,在配置修改server_name把你要反向的域名全部添加到这里。
我有过一台vps设置完后,刚开始刷出现过301重复重定向,重启几次这样,不理它第二天行了,没时间折腾所以没细调,估计是在域名传递给后端的国内vps的wordpress站群失败所以反复301的问题。
注:如果你要折腾可以考虑开启
3、开启nginx的fast-cache,Bt默认支持的,你只需在nginx.conf添加

        fastcgi_cache_path /dev/shm/nginx-cache levels=1:2 keys_zone=WORDPRESS:30m inactive=32m max_size=64m;
        fastcgi_temp_path /dev/shm/nginx-temp;
        fastcgi_cache_key "$scheme$request_method$host$request_uri";
        fastcgi_cache_use_stale error timeout invalid_header http_500;
        fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
        fastcgi_cache_min_uses  1;

你还需再网站的配置文件插入

     set $skip_cache 0;
        if ($request_method = POST) {
            set $skip_cache 1;
        }   
        if ($query_string != "") {
            set $skip_cache 1;
        }   
        if ($request_uri ~* "/login.*|/user.*|/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
            set $skip_cache 1;
        }   
        if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|w3tc_logged_out|wordpress_no_cache|wordpress_logged_in|wptouch_switch_toggle") {
            set $skip_cache 1;
        }   

然后在/www/server/nginx/conf/pathinfo.conf插入

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
add_header X-Cache "$upstream_cache_status From $host";
fastcgi_cache WORDPRESS;
add_header Last-Modified $date_gmt;
add_header X-Frame-Options SAMEORIGIN; 
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block"; 
fastcgi_cache_valid 200 301 302 1d;

为什么选这个文件呢?在多版本php宝塔都会调用这个文件,插入这里不管啥版本都能用。
要注意上面插入的三个地方,先后插入乱了会提示错误,宝塔保存就会检查keys_zone(ssh命令行不会先检查),上文的cache目录是在内存上的(也把塔默认的/tmp/php-cgi-73.sock移动到/dev/shm/),我在一台vps启动nginx和php-fpm有过失败的问题,查日志,提示已经启动,重复启动,但后台不显示已经启动。
4、wordpress站群的域名跳转,我站群一级域名使用的是去掉www,

server {
         server_name "~^www\.(.*)$" ;
         return 301 $scheme://$1$request_uri ;
}

加在配置未见的末尾,不然你修改文件时bt会先修改排前的server_name位置的域名。
5、默认的“禁止访问的文件或目录”不起作用,比如你站点用的w3-total-cache,它默认在网站根目录生成nginx.conf伪静态配置,你要调用它,如你启用了防夸站,你只能放在网站目录下,为安全你必须要禁止直接访问该文件,用Bt默认的“禁止访问的文件或目录”配置加上“\.conf”是无效的,我加上

 location ~ \.(conf|ini)$ { return 444; }

6、我用宝塔稳定版安装在vps上的centos7,它并没删除系统自带的http,这样系统启动会让http占用80端口导致nginx启动失败,先检查httpd服务


rpm -qa | grep httpd
或
yum list | grep httpd
再用
systemctl stop httpd.service
停掉httpd
然后用rpm -e或yum -erase卸载
yum erase httpd.x86_64

7、加装Brotli
安装libbrotli

cd /www/server
git clone https://github.com/bagder/libbrotli
cd libbrotli
./autogen.sh
./configure
make && make install

下载ngx_brotli模块及其依赖:

cd /www/server
#下载brotli
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
#更新brotli
git submodule update --init

查看nginx -V用来对比之后是否安装了

nginx关闭默认站点/空主机头(禁止IP直接访问、防止域名恶意解析)
在/www/server/panel/vhost/nginx/0.default.conf 中头部修改为如下代码:

server
{
    listen 80 default_server;
    listen 443 default_server;
    server_name _;
    ssl_certificate    /www/server/panel/vhost/cert/域名/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/域名/privkey.pem;
    return 444;
    index index.html;
    root /www/server/nginx/html;
}

随便添加个证书即可。访问https//ip就不会再跳到网站。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。