Nginx是一個高性能的HTTP和反向代理服務(wù)器,也是一個 IMAP/POP3/SMTP 服務(wù)器?,F(xiàn)在越來越多的集成環(huán)境都使用了Nginx服務(wù)器,如軍哥的LNMP一鍵包、AMH主機(jī)面板、OneinStack等,如果您為了裝逼(安全)考慮,打算給網(wǎng)站部署SSL證書,應(yīng)該如何操作呢?
一、申請SSL證書
國外的startssl和國內(nèi)的沃通都可以申請免費(fèi)的SSL證書,當(dāng)然也有很多收費(fèi)的,如果只是個人博客網(wǎng)站,其實(shí)免費(fèi)的足矣,可以參考文章:沃通免費(fèi)SSL證書申請,申請免費(fèi)的SSL證書。
二、相關(guān)環(huán)境準(zhǔn)備
光有了證書還不行呀,您還需要搭建WEB服務(wù)器才能將證書放上去,上面已經(jīng)提到LNMP一鍵包、AMH主機(jī)面板、OneinStack均使用的Nginx作為WEB服務(wù)器,安裝其中之一即可。
三、部署SSL
最關(guān)鍵的步驟來了,首先您需要將步驟一中的SSL證書上傳到服務(wù)器的某個目錄,可以通過winscp上傳,比如將.crt和.key文件上傳到/usr/local/nginx/conf/ssl/目錄,找到主機(jī)配置文件(通常是在/usr/local/nginx/conf/vhost/xxx.conf),使用vi編輯器再server段內(nèi)加入下面幾行:
listen 443 ssl;
ssl_certificate /usr/local/nginx/conf/ssl/www_xiaoz_me.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/www_xiaoz_me.key;
四、放行443端口
https(SSL)需要使用443端口,如果您的防火墻(iptables)沒有放行443端口可能導(dǎo)致網(wǎng)站無法訪問,請按照下面三個語句執(zhí)行。
vi /etc/sysconfig/iptables? ?##編輯配置文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT? ?##(允許80端口通過防火墻)
/etc/init.d/iptables restart ##重啟防火墻
五、重啟nginx服務(wù)器
直接輸入命令”lnmp nginx restart”,AMH輸入命令”amh nginx restart”,另外如果您使用的startssl的證書在重啟nginx的時候會要求輸入證書密碼,若配置錯誤可能導(dǎo)致nginx啟動失敗,修改主機(jī)配置文件前請先做好相關(guān)備份。
六、配置文件實(shí)例
下面這段代碼是80端口(http)和443端口(https)共存實(shí)例,供參考。
server
listen 80;
listen 443 ssl;
server_name www.xiaoz.me;
index index.html index.htm index.php;
root /home/wwwroot/www.xiaoz.me/;
#ssl on; 這里要注釋掉
ssl_certificate /usr/local/nginx/conf/ssl/www_iamle_com.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/www_iamle_com.key;
#以下配置省略
USA-IDC特推出香港服務(wù)器租用折扣,先抽券后下單,售完即止歡迎點(diǎn)擊下圖了解詳情