宝塔面板开启https网址访问实践

发布时间:2021-06-18 18:00 | 人气数:1537
让宝塔面板可以https网址访问,自己替换换了证书,让宝塔面板的证书与网站域名的SSL证书为同一个证书,网站证书续期即面板证书续期。

一、记住几个地址(目的是把面板SSL证书地址修改为同域名的网站SSL证书地址,访问时域名端口不同):
面板默认SSL证书目录:/www/server/panel/ssl
VHOST证书(备份作用):/www/server/panel/vhost/ssl/xxx.com
网站SSL证书:/www/server/panel/vhost/cert/xxx.com
Nginx配置:/www/server/panel/vhost/nginx/*.conf;

二、用IP地址访问面版,先在网站上增加一个相同域名网站,并设置成HTTPS访问,开启定时任务,设置定期续签SSL证书,可以设置强制HTTPS访问,测试域名https可以正常访问。
特殊原因导致网站HTTPS不能访问时,可以在Nginx配置文件中删除相关的443跳转即可恢复http 80端口访问。

三、上面Nginx配置地址,找到网站的配置文件,找到以下两行,保存备用,如果有中间件,会是三行。
    ssl_certificate    /www/server/panel/vhost/cert/xxx.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/xxx.com/privkey.pem;

四、打开面版SSL,此时会生成/www/server/panel/data/ssl.pl文件,默认SSL证书在ssl目录下面,可以使用https的IP地址访问面板。
不能访问时关闭命令:rm -f /www/server/panel/data/ssl.pl && /etc/init.d/bt restart

五、打开面版配置文件:/www/server/panel/runconfig.py,在线编辑源代码,找到相关代码,替换上面的代码即可。
    certfile = 'ssl/certificate.pem'
    keyfile  = 'ssl/privateKey.pem'
替换为:
    certfile = 'vhost/cert/xxx.com/fullchain.pem'
    keyfile  = 'vhost/cert/xxx.com/privkey.pem'

六、宝塔面板开启域名绑定访问,/www/server/panel/data/domain.conf添加域名地址,如:xxx.com。开启后不能访问时关闭处理命令:rm -f /www/server/panel/data/domain.conf 或删除文件里面的配置域名即可。

七、/etc/init.d/bt restart 重启面版,红色锁头变绿色锁头,说明配置成功。查看面板入口:/etc/init.d/bt default

原理其实很简单,SSL证书只绑定域名,但不绑定端口。所以相同域名下,默认端口能访问,8888也能访问,此文操作时宝塔面板版本:7.6.0,后续版本操作时先确认相关配置文件是否相同再操作。

PS:操作最后不能访问,只能IP地址开启SSL,宝塔证书与NGINX证书不同?欢迎讨论。

关键词:宝塔面板,https网址,宝塔SSL