Nginx配置www跳转到无www的网址
现在网站使用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没有正确跳转的问题。