项目开发完部署到服务器,是一个https服务,域名假设为www.test123.com,用户访问https://www.test123.com时,如果只输入test123.com或www.test123.com按回车键访问,浏览器默认访问http://test123.com或http://www.test123.com,这种情况下用户需要手动为访问的链接加上https://的前缀才能正确访问,如何避免这种情况下不需要用户手动修改链接同时还可以正确的访问到https://www.test123.com呢?
解决方案就是使用nginx做301重定向,为nginx的配置文件的server部分添加如下内容:
server {
listen 80;
server_name test123.com www.test123.com;
if ( $host ~* test123.com ) { #如果访问链接中包含了test123.com
rewrite ^/(.*)$ https://www.test123.com/$1 permanent;
}
return 301 https://127.0.0.1:443; #项目在服务器的实际部署地址
}
这时候用户输入test123.com或www.test123.com按回车键访问,浏览器就能访问https://test123.com或https://www.test123.com,经过nginx代理访问到的就是服务器上的实际项目。