服务器上部署了多个网站,其中有个站安装了ssl证书,但是其它的站点没有证书,但是有些用户在访问时不小心加了https,于是访问出现以下效果
点击继续访问,可能会出来403/404或者其它出错信息,那么问题来了,如何在不安装ssl证书的情况下,让网站也能访问正常呢,我用的解决方法就是用nginx的默认兜底站点直接跳转至http
nginx具体配置如下:
server {
listen 443 ssl default_server;server_name _;
#证书链相关配置
#因为是全局默认站点,可以配置其它站的ssl证书路径即可,因为域名不一致,所以才出现上图的效果
rewrite ^(.*)$ http://$host$1 permanent;
}
此方法虽然可以临时解决问题,但是如果用户首次打开https的url,还是会出现上面的提示,但是点击继续访问后就能正常使用,下次也不会出现提示(已经缓存了)
最终还是建议服务器上的站点都加ssl证书,用免费版的也行,就是时间短,更换证书麻烦一些

感谢优质内容,用金币表达支持。同一主题仅可打赏一次。
我的金币: 0