nginx 配置不带www的域名转发到www域名

ppylox
·3/14/2020·5 阅读
AI 摘要模型根据正文自动生成,仅供参考

通过nginx配置将不带www的域名统一301重定向到https://www.dsiab.com。配置包含三个server块:主server监听443端口服务www域名并启用SSL;第二个监听80端口,将dsiab.com和www.dsiab.com的HTTP请求重定向到HTTPS主域名;第三个监听443端口,将不带www的HTTPS请求重定向到主域名。实现所有域名变体统一跳转,便于记忆并集中网站权重。

首先把www记录的域名解析到主机ip上,由于我的网站上运行的是前后端分离项目,通过nginx转发请求,所以需要在nginx配置上处理,将dsiab.com、http://dsiab.com、https://dsiab.com 统一转发到https://www.dsiab.com,这样不管理请求哪一个域名,最后到达的地址都是一样的,方便记忆,也集中的网站的权重。
 
下面就看一下我目前的nginx配置,其他无关配置已隐藏:

http: {\n  server {\n    listen 443;\n    server_name www.dsiab.com;\n    ssl_certificate /usr/local/nginx/conf/1_www.dsiab.com_bundle.crt;\n    ssl_certificate_key /usr/local/nginx/conf/2_www.dsiab.com.key;\n    ssl on;\n    access_log /data/wwwlogs/access_nginx.log combined;\n    root /data/wwwroot/default/;\n    index index.html index.htm index.jsp;\n   }\n   server {\n    listen 80;\n    server_name dsiab.com,www.dsiab.com;\n    return 301 https://www.dsiab.com$request_uri;\n   }\n   server {\n    listen 443;\n    server_name dsiab.com;\n    return 301 https://www.dsiab.com$request_uri;\n  }\n}

第一个server就是主配置,默认监听443端口,主域名是www.dsiab.com,打开了https访问,第二个server主是是监听80端口,主要是把非https的两个域名重定向到https的主域名,第三个是把https的不带www的域名重定向到主域名,这样其他域名通过301重定向到主域名,就都可以访问了。

相关文章