宝塔面板给非 443、80 端口上 HTTPS。
如果一个域名已经存在 443 端口的网站,那么新的网站就不能再使用 443 端口,而使用其它端口,基于宝塔面板的默认功能,无法再直接上 https。那么,我们该如何给一个服务器上的其它网页上 SSL 证书实现 HTTPS 呢?
1. 添加域名前缀
首先我们要给对应的网站添加一个前缀,如果共用前缀,宝塔面板添加网站会提示已经存在对应域名的站点。
假如我们新的网站域名为 demo1.witcola.top
它其实和原本的网站域名 demo.witcola.top
对应的 ip 地址是相同的,但是为了不同端口的网站实现 https,需要那么做。
假设我的新前缀就为 demo1.witcola.top
和原本的 demo.witcola.top
指向相同的 ip。
2. 创建站点
接下来我们要到宝塔面板的网站模块,点击添加站点。
这里的关键点是域名部分,我们要换成我们新的域名,并对应端口。假如端口是 10101,那么我们添加的域名就是
demo1.witcola.top:10101
由于我这里的网站基于反向代理,那么我的 PHP 版本就是纯静态。
3. 设置站点
接下来是关键的一步,我们直接再网站设置,选择申请 SSL 证书。
在这里,由于 443 已经被占用,我们必须选择 DNS 验证,并勾选手动解析。
然后我们根据步骤进行验证即可。
验证完成即可获取 SSL 证书
! 注意,之后的 SSL 不要选择强制 https。因为你要访问新网站的 https 是走的新的端口。 例如 https://demo1.witcola.top:10101
如果勾选后,会导致新网站端口进入新的域名,直接回到 443 端口。
3. 部署证书
接下来我们要再 网站设置 - 域名管理部分
,将新站点 HTTPS 端口更改为新的端口,基于我的例子,就是 10101.
保存后证书部署已经完成了。
之后访问站点直接使用 https 访问新的端口即可。
根据我的例子就是
https://demo1.witcola.top:10101