費,所以現在大家都用的比較多,而目前HTTPS也是大勢所趨,寶塔面板默認提供了SSL管理功能,並且可以在線申請SSL證書,一鍵部署HTTPS比較方便,但是遺憾的是,到目前為止,並不支持子目錄開啟SSL證書,也就是如果你的證書不是泛域名證書的話,只能啟用www域名的https,二級域名就不新了,那麼,有沒有解決辦法呢,答案是有的。
我們二代CMS旅遊網站管理系統,最近在開發微信小程序、百度小程序、支付寶小程序的時候,小程序內要嵌入H5移動端頁面,而小程序內都只支持HTTPS,HTTP是不能打開的,就碰到了這個問題,下面來說說,我們是怎麼解決的(注:寶塔面板為最新版本,證書為阿里雲的免費SSL證書)!
首先在阿里雲給你的二級域名申請好SSL證書,然後根據你的服務器類型,把證書下載下來,如圖:
然後在寶塔面板後臺,把二級域名和子目錄綁定好,如圖所示:
綁定好了以後,解壓下載的阿里雲證書包,然後上傳到服務器上,寶塔自帶文件上傳功能,直接在寶塔後臺批量上傳就好了,如圖:
上傳好了以後,返回到寶塔的網站設置界面,切換到配置文件選項,把當前的配置信息複製一下,保存到本地,本地備份一份,防止萬一出錯了,好快速還原(這裡很重要),接下來,就是關鍵點了,把以下代碼放在配置文件的最後面(按照註釋修改好):
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
SetHandler "proxy:unix:/tmp/php-cgi-70.sock|fcgi://localhost"
#DENY FILES
Order allow,deny
Deny from all
#PATH
//這裡修改為你實際的子目錄路徑
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Require all granted
DirectoryIndex index.php index.html index.htm default.php default.html default.htm
上面的代碼,有//註釋的的地方為需要根據您的實際情況要修改的地方,,其他的地方請不要做任何修改,,完成後,提交就可以了,然後使用https來訪問測試效果!