为个人的nginx站点增加www跳转

半日闲 2020年11月17日 20次浏览

利用Nginxrewrite功能为个人网站增加www跳转

原始配置

原来的nginx配置(为保证安全,不展示不必要的配置

    server {
        listen       80;
        server_name  kengdie.xyz;
        include /etc/nginx/default.d/*.conf;
        if ($server_port !~ 443){
            rewrite ^(/.*)$ https://$host$1 permanent;
        }
    }
    server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  kengdie.xyz;
    }

配置改动

增加www.kengdie.xyz域名的A记录

image-20201117234849266

增加配置server_namerewrite字段即可

    server {
        listen       80;
        server_name  kengdie.xyz www.kengdie.xyz;
        include /etc/nginx/default.d/*.conf;
        if ($server_port !~ 443){
            rewrite ^(/.*)$ https://$host$1 permanent;
        }
    }
    server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  kengdie.xyz www.kengdie.xyz;
        if ($host ~ 'www.kengdie.xyz') {
                rewrite ^(/.*)$ https://kengdie.xyz$1 permanent;
        }
    }

验证

配置修改完成后,检查nginx配置是否正确

使用nginx -t命令即可,如下

image-20201117234950167

重载nginx,执行nginx -s reload即可

error.log的日志中,可查看到nginx已经重载了

image-20201117235132096

再次浏览器访问www.kengdie.xyz即可看到自动跳转到kengdie.xyz,说明配置成功