nginx 配置不带www的域名转发到www域名
首先把www记录的域名解析到主机ip上,由于我的网站上运行的是前后端分离项目,通过nginx转发请求,所以需要在nginx配置上处理,将dsiab.com、http://dsiab.com、https://dsiab.com 统一转发到https://www.dsiab.com,这样不管理请求哪一个域名,最后到达的地址都是一样的,方便记忆,也集中的网站的权重。
下面就看一下我目前的nginx配置,其他无关配置已隐藏:
http: {
server {
listen 443;
server_name www.dsiab.com;
ssl_certificate /usr/local/nginx/conf/1_www.dsiab.com_bundle.crt;
ssl_certificate_key /usr/local/nginx/conf/2_www.dsiab.com.key;
ssl on;
access_log /data/wwwlogs/access_nginx.log combined;
root /data/wwwroot/default/;
index index.html index.htm index.jsp;
}
server {
listen 80;
server_name dsiab.com,www.dsiab.com;
return 301 https://www.dsiab.com$request_uri;
}
server {
listen 443;
server_name dsiab.com;
return 301 https://www.dsiab.com$request_uri;
}
}
第一个server就是主配置,默认监听443端口,主域名是www.dsiab.com,打开了https访问,第二个server主是是监听80端口,主要是把非https的两个域名重定向到https的主域名,第三个是把https的不带www的域名重定向到主域名,这样其他域名通过301重定向到主域名,就都可以访问了。
发表评论 (审核通过后显示评论):