Nginx配置www跳转到无www的网址

作者: 乘风御上者 分类: 综合 发布时间: 2019-09-09 22:42

现在网站使用SSL已是大势所趋,尤其是谷歌浏览器对于非https的网站直接显示红色叹号,及红色“不安全”这三个字,让有强迫症的人无法忍受。

而且网站都在取消www这个二级域名,直接使用简短的顶级域名做网站。

我也就顺势而为,把自己的博客也整理的简洁点:

首先在域名解析中配置 A记录 www、@ 设置指向IP,然后配置nginx的配置文件即可。

#1将www的域名重定义到无www的域名上
server {
    listen 80;
    server_name www.toocf.com;
    return 301 $scheme://blog.toocf.com$request_uri;
}

server
{
    listen 80;
    listen 443 ssl http2;
    server_name toocf.com;
    index index.php index.html;
  
    #2将所有非https的请求重定义到https中
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

    ssl_certificate    /ssl证书路径/fullchain.pem;
    ssl_certificate_key   /ssl证书路径/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    
    # 后续其他配置
}

前两条配置能保证域名访问时,360度无死角跳转到 https://域名.com上来,能解决http://www.域名.com没有正确跳转的问题。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表回复