今天遇到一位網友要求老蔣將他當前已經在使用的WDCP面板環境,給某個站點添加SSL證書,實現HTTPS網址訪問。在過去的幾篇文章中,老蔣也有分享過不少在Linux VPS中對應的WEB環境安裝SSL證書的經歷,其實總體來看都大同小異,區別就是Apache或者Nginx,也有用其他環境,然后將SSL證書對應到站點配置文件綁定即可。
網友告知好像不可以實現,難道WDCP面板有特別之處?本著探索精神,老蔣準備嘗試解決這個問題,然后順便記錄下來,曾經還記得有網友留言過是否可以分享一篇WDCP安裝SSL的文章,這不正好一并分享給有需要的用戶參考使用。
第一、WDCP面板環境安裝SSL證書準備工作
1、我們需要確保當前Linux VPS已經使用的WDCP面板,如果我們使用其他環境,那則需要對應解決。這里我看到這位網友采用的是WDCP V3.1版本。
2、檢查當前WEB引擎。因為WDCP可以選擇Apache、Nginx,或者兩者組合使用。這里老蔣習慣使用Nginx,所以我們需要在后臺檢查確定引擎。("系統設置"-"WEB引擎切換")
3、備份數據。如果我們不放心自己折騰壞了機器,建議還是備份下網站數據。有些時候就是那么奇怪,方法都沒有問題,可能會導致出錯。
第二、準備網站域名SSL證書
既然我們需要用到SSL證書,那肯定是要提前準備的。我們可以去購買,也可以用免費SSL證書。因為這位朋友只需要臨時使用(估計是項目臨時測試),所以我就直接幫他在SSL For Free申請免費Let's Encrypt證書。選擇SSL For Free在線工具的原因是比較簡單的可視化獲取,如果直接用Let's Encrypt官方獲取方式,稍顯有點麻煩。
當然,如果我們喜歡用付費的或者已經準備好證書,那將獲取到的證書幾個文件放到本地來,等會需要用上。這里他是臨時使用的,就幫他省錢一下。反正證書這個東西,如果只要實現HTTPS功能,免費和付費基本沒多大區別,何況Let's Encrypt也是相當不錯的。(參考文章:實戰SSL For Free工具快速安裝Let's Encrypt免費SSL安全證書)
我們獲取到ca_bundle.crt、certificate.crt,private.key三個文件,需要先將前面2個.crt文件合并到一個.crt文件中。這里我合并到itbulu.crt。然后將itbulu.crt和private.key兩個文件上傳到服務器中目錄。
/www/web/ssl/
第三、修改Nginx配置文件
/www/wdlinux/nginx-1.10.2/conf/vhost
我們需要到當前站點的nginx配置文件修改,添加SSL證書路徑。我們打開文件可以看到已有80端口的配置,這里我們需要配置SSL證書443端口配置。復制一份80端口配置,然后丟到配置文件中。
server {
listen 443 ssl;
??????? ssl on;
??????? ssl_certificate /www/web/ssl/itbulu.crt;
??????? ssl_certificate_key /www/web/ssl/private.key;
??????? root /www/web/ssl_laobuluo_com/public_html;
??????? server_name www.laobuluo.com;
??????? index? index.html index.php index.htm;
??????? ssl_session_timeout? 10m;
??? ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
??? ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4'; ssl_prefer_server_ciphers?? on;
ssl_session_cache? builtin:1000 shared:SSL:10m;
error_page? 400 /errpage/400.html;
error_page? 403 /errpage/403.html;
error_page? 404 /errpage/404.html;
error_page? 503 /errpage/503.html;
location ~ \.php$ {
fastcgi_pass?? 127.0.0.1:9000;
fastcgi_index? index.php;
include fcgi.conf;
}
location ~ /\.ht {
deny? all;
}
}
主要是藍色部分。配置完畢之后,我們重啟WEB。
第四、設置防火墻端口
上面重啟WEB之后,打開網址好像還不行,檢查下防火墻,看到WDCP面板后臺沒有設置443端口,需要開啟。在"安全管理"-"防火墻iptables"添加443端口。
然后我們再重啟web,檢查看看是否HTTPS生效。
第五、檢查SSL是否生效
這里我們可以看到已經生效。WDCP面板部署SSL證書也這么簡單,唯獨需要注意開設防火墻443端口。
第六、WDCP安裝SSL證書小結
1、與大部分WEB環境一樣 ,WDCP面板安裝SSL證書可以根據WEB引擎設置,這里老蔣用的Nginx環境,如果是Apache需要配置對應文件。
2、這里實現的是HTTP和HTTPS都可以使用,如果我們需要強制跳轉HTTPS,我們則只需要在80端口配置中添加強制的HTTPS跳轉。
未經允許不得轉載:老蔣部落???記錄一次在WDCP面板環境安裝SSL證書實現HTTPS網址
?
本文轉自http://www.itbulu.com/wdcp-ssl.html 。