您好,欢迎访问海口顶酷互联科技有限公司的官方网站!
注册 / 登录     咨询热线:0898-32693777
微信二维码
咨询热线: 0898-32693777

宝塔面板http网站未配置SSL协议时跳转https串站的解决方法

目前很多人用宝塔面板搭建https网站,但是如果你使用宝塔面板搭建的网站不止一个,且同时有http和https协议时,会发现http网站会在https下串站的BUG:

宝塔面板http网站未配置SSL协议时跳转https串站的解决方法(图1)

宝塔创建aaa.com站点使用了https,其它站点(例如bbb.com)使用的是http,而未配置或开启https协议,但是你使用https://bbb.com访问网站的时候,神奇的事情就发生了,网站内容显示的是https://aaa.com的内容。明明bbb.com没有开启https却可以访问,而且内容还是aaa.com网站的内容。惊不惊喜意不意外?

刚好两位大神乱世玉米和杨秉宸也在群里说到这个问题,不但让很多站长头疼,而且对SEO也是很不友好。下面我们一起来看看引起这个问题的原因和解决方法:

一、引起https站跳http站的原因:


宝塔ssl配置说明
宝塔ssl配置说明


从上图宝塔面板在ssl配置里这样说到:在未指定SSL默认站点时,未开启SSL的站点使用HTTPS会直接访问到已开启SSL的站点
所以这就是导致串站和跳站的原因。不知道宝塔开发人员怎么想的,这么明显的问题也不给个解决方法,那只好我们自己动手咯。

二、nginx环境下的解决方法

1、添加新建一个站点,绑定域名那里填你服务器的ip,其他按下图设置。


宝塔添加新站点
宝塔添加新站点


2、修改这个站点的配置文件如下:

server
{
#设置80端口不能通过ip访问。
listen 80 default_server;
server_name 123.123.123.123;
root /www/wwwroot/123.123.123.123;
return 444;
}
server {
#设置443端口如果站点没有启用ssl直接返回444状态码。
listen 443 default_server;
server_name _ ;
ssl on;
#注意修改以下部分内容,把路径换成你服务器上已存在的证书。
ssl_certificate /www/server/panel/vhost/cert/xxx/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/xxx/privkey.pem;
#证书部分结束
return 444;
}

其中server_name 123.123.123.123中的123要修改成你网站ip,另外ssl_certificate /www/server/panel/vhost/cert/xxx/fullchain.pem和ssl_certificate_key /www/server/panel/vhost/cert/xxx/privkey.pem这两个文件要换成你网站已经存在的https的证书就可以了。

这段nginx的配置功能就是如果你用ip或者没有配置https协议的域名访问,nginx直接返回444的http代码,告诉浏览器“关闭这个连接,不发送其他请求”。具体这个代码的的意思可以到这里看《Nginx的HTTP 444状态码》。

通过上面设置以后你会发现整个世界清静了,宝塔面板https协议导致的相互串站问题也解决了。目前没有测试win的宝塔面板和apache环境,但是思路是相同的,apache里添加一个站点,设置http状态码为400应该也是可以的。当然,如果你有更好的解决方法,可以在下方留言告诉我。



非常感谢您有耐心的读完这篇文章:"宝塔面板http网站未配置SSL协议时跳转https串站的解决方法",更多内容请继续浏览,我们将为您提供更多参考使用或学习交流的信息。我们还可为您提供:网站建设与开发网站优化品牌推广、APP开发、小程序开发新闻推广等服务,我们以“降低营销成本,提高营销效果”的服务理念,自创立至今,已成功服务过不同行业的1000多家企业,拥有14项国家软件著作权,将力争成为国内企业心目中值得信赖的互联网产品及服务提供商。如您需要合作,请扫码咨询,我们将诚挚为您服务。


微信扫码 免费咨询

0898-32693777
解答:网站优化,网站建设,APP开发,小程序开发,H5开发,品牌推广,新闻推广,舆情监测等

上一篇:暂无

下一篇:网站全站敏感词检测、广告违禁词查询很简单,一个python脚本轻松搞定

不限地域、不限平台、不限关键词。
适用所有想提升关键词排名的电脑、手机、微信网站!
Top