异形技术

您现在的位置是:首页 > 学无止境 > IT 运维

IT 运维

BT宝塔面板:子目录的二级域名开启https绑定SSL证书方法

2019-10-04IT 运维
宝塔面板默认提供了SSL管理功能,并且可以在线申请SSL证书,一键部署HTTPS比较方便,但是遗憾的是,到目前为止,并不支持子目录开启SSL证书,也就是如果你的证书不是泛域名证书的话,只能启用www域名的https,二级域名就不新了,那么,有没有解决办法呢,答案是有的

随着ssl证书的免费,所以现在大家都用的比较多,而目前HTTPS也是大势所趋,宝塔面板默认提供了SSL管理功能,并且可以在线申请SSL证书,一键部署HTTPS比较方便,但是遗憾的是,到目前为止,并不支持子目录开启SSL证书,也就是如果你的证书不是泛域名证书的话,只能启用www域名的https,二级域名就不新了,那么,有没有解决办法呢,答案是有的。

我们二代CMS旅游网站管理系统,最近在开发微信小程序、百度小程序、支付宝小程序的时候,小程序内要嵌入H5移动端页面,而小程序内都只支持HTTPS,HTTP是不能打开的,就碰到了这个问题,下面来说说,我们是怎么解决的(注:宝塔面板为最新版本,证书为阿里云的免费SSL证书)!

首先在阿里云给你的二级域名申请好SSL证书,然后根据你的服务器类型,把证书下载下来,如图:

 

 

然后在宝塔面板后台,把二级域名和子目录绑定好,如图所示:

 

 

绑定好了以后,解压下载的阿里云证书包,然后上传到服务器上,宝塔自带文件上传功能,直接在宝塔后台批量上传就好了,如图:

 

 

上传好了以后,返回到宝塔的网站设置界面,切换到配置文件选项,把当前的配置信息复制一下,保存到本地,本地备份一份,防止万一出错了,好快速还原(这里很重要),接下来,就是关键点了,把以下代码放在配置文件的最后面(按照注释修改好):

<VirtualHost *:443>

ServerAdmin webmasterexample

DocumentRoot “/www/wwwroot/二级域名/2019m/” //这里修改为你实际的子目录路径

ServerName SSL.二级域名 //这里SSL.后面修改为您二级网站的域名

ServerAlias 二级域名 //这里同上修改为您二级网站的域名

errorDocument 404 /404.html

ErrorLog “/www/wwwlogs/二级域名-error_log” //这里的域名相应的改过来

CustomLog “/www/wwwlogs/二级域名-access_log” combined //这里的域名相应的改过来

#SSL

SSLEngine On

SSLCertificateFile /etc/letsencrypt/live/二级域名/*****_public.crt //此处为重点,请把路径修改为上面证书上传的实际路径

SSLCertificateKeyFile /etc/letsencrypt/live/二级域名/*****_.key //此处为重点,请把路径修改为上面证书上传的实际路径

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH

SSLProtocol All -SSLv2 -SSLv3

SSLHonorCipherOrder On

#PHP

<FilesMatch .php$>

SetHandler “proxy:unix:/tmp/php-cgi-70.sock|fcgi://localhost”

</FilesMatch>

#DENY FILES

<Files ~ (.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md)$>

Order allow,deny

Deny from all

</Files>

#PATH

<Directory “/www/wwwroot/二级域名/2019m”> //这里修改为你实际的子目录路径

SetOutputFilter DEFLATE

Options FollowSymLinks

AllowOverride All

Require all granted

DirectoryIndex index.php index.html index.htm default.php default.html default.htm

</Directory>

</VirtualHost>

上面的代码,有//注释的的地方为需要根据您的实际情况要修改的地方,,其他的地方请不要做任何修改,,完成后,提交就可以了,然后使用https来访问测试效果!

文章评论