有时候同一个网站绑定了多个域名,为了保证所有的域名都能够实现https访问,就需要配置多个SSL证书,那么在宝塔面板下该如何实现呢?
一个网站需要配置多个SSL证书么?飞鸟就遇到了这个情况,近期雅兮网主站逐步更换为新域名www.yaxi.net,并且部署了SSL证书实现https://www.yaxi.net的访问,而旧域名www.iyaxi.com则做了301跳转到https://www.yaxi.net,这是非常标准的更换域名方法。
但是出现了一个问题:由于更换域名之前,www.iyaxi.com也部署了SSL证书,并在百度站长平台做了Https验证,基本上所有的收录都是https://www.iyaxi.com。而换过域名后在宝塔面板中飞鸟部署了新域名的证书(www.yaxi.net的)此时在Chrome浏览器下访问雅兮网在百度上的收录结果,都无法正常跳转到https://www.yaxi.net,提示“您的链接不是私密链接”,而导致访客被阻挡在外。
这样的提示是非常好理解的,因为面板上已经撤销了www.iyaxi.com域名的证书,所以访问https://www.iyaxi.com肯定是无法访问的,那该如何是好?
飞鸟第一时间想到的就是能否给网站部署两个证书?但查看宝塔面板的SSL后台只能添加一个,于是就想在配置文件上动动手脚,最终让飞鸟实现了这一需求。具体方法如下:
1、首先对新域名设置301跳转以及部署新域名的SSL证书,我们会得到如下的配置代码,注意红框里的两行,就是新域名的SSL证书文件路径。
2、复制全部的配置代码,然后粘贴在源代码下面,然后修改 server_name 后面的域名为旧域名,下面的301配置也酌情给旧域名做好;
3、参照新域名的证书路径,新建一个文件夹并上传旧域名的证书文件,并在上文复制的配置文件中修改路径地址,然后保存。
此时再用Chrome浏览器访问https://www.iyaxi.com或者访问百度收录的https://www.iyaxi.com文章,正常跳转到了https://www.yaxi.net,完成了我们的需求。
对于不使用面板的运维高手来说,或许就简单很多,直接配置。但在宝塔面板下,飞鸟只能想到这个方法,如果你有更好的操作,记得留言一起交流。
复制全部的配置代码,然后粘贴在源代码下面,然后修改 server_name 后面的域名为旧域名,下面的301配置也酌情给旧域名做好;
这句话,我没理解,我现在涉及到了这问题,不知道怎么结局了
@沭阳web: 我也不懂,博主可以说明白一些吗?
学习了,SSL证书在哪里申请的
@励志语录: 免费的证书蛮多,可以在阿里云申请 可以参考这篇文章
https://www.yaxi.net/2017-10-12/1589.html
也可以在宝塔直接申请免费证书
感谢大神分享,借鉴了
感谢博主在百忙中抽时间来分享这篇文章,读了这篇文章很受益,希望博主博客越办越好。
我擦,昨天怎么没看到这篇文章啊。我他喵昨天晚上就是因为这个问题,一气之下把网站全站删除了。 当然也就是采集了两天的网站。
@夏天烤洋芋: 后悔了吧,看看多来我这边逛逛是多么的有好处
新建一个,同目录即可。。。
@泪雪博客: 泪雪大佬啊,同目录下也可,路径能读取到就OK。对运维不太了解,见笑了!
@飞鸟: 嘿嘿,大佬这个称呼愧不敢当啊,你开源把这个方法也列举出来,比较有很多人和我一样喜欢偷懒。
@飞鸟: 这个方法一语惊醒梦中人
@泪雪博客: 如果新建一个网站,指向同目录的话配置伪静态就出问题了哇,捣鼓好久了也没弄好
@泪雪博客: 请问你说新建一个,同目录。意思是不是重新建一个网站同目录呢
没有面板,直接在nginx添加,多少个证书多少个域名都OK
@懿古今: 应该是同样的道理,只不过面板可视化了,实质上还是修改nginx配置
干的漂亮,我那篇文章有瑕疵,应该是用的二级域名的测试环境有关。
@西枫里博客: 我这个就粗暴了,管你强不强制SSL,我两个域名全部部署SSL证书,不存在什么非隐私链接了