ssl基礎
服務器操做系統:aliyun ubuntu 12.04
WEB服務器:nginx 1.4.x
免費ssl認證服務:startssl.html
百度百科解釋:node
SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是爲網絡通訊提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網絡鏈接進行加密。nginx
詳情參見阮一峯老師的網絡日誌
《SSL/TLS協議運行機制的概述》web
StartSSL是StartCom公司旗下的SSL證書,貌似是如今惟一一家提供免費SSL證書服務而且被主流瀏覽器支持的免費SSL,包括Chrome、Firefox、IE等瀏覽器均可以正常識別StartSSL,任何我的均可以從StartSSL中申請到免費一年的SSL證書。
StartSSL申請雖然要審覈,可是通常十幾分鍾就會回覆郵件了。並且通過部落的幾回申請測試發現,StartSSL申請審覈並不嚴格,若是遇到問題,你只要回覆一封郵件過去回答郵件當中所提的問題,經過率幾乎是100%。ubuntu使用StartSSL前必須先在本身的電腦上安裝StartSSL證書,這個證書就是你用來登陸和管理StartSSL申請到的SSL惟一憑證,沒有了這個憑證就沒法對已經申請的SSL進行管理和續期了,只能從新申請一個了,因此須要特別保存好。瀏覽器
打開網站之後找到Sign-up按鈕,果斷按下去,而後出來輸入你的我的資料的表單,進行提交。
安全
全部的資料都最好使用正確的。由於註冊SSL是一件很嚴肅的事情。還有就是若是你的IP地址是在大陸,你輸入香港也是會被拒絕的。並且你的地址也是也是要詳細的。 按照表單寫完之後點擊Continue按鈕。而後你填寫的郵箱會收到一個驗證碼。
服務器
把驗證碼輸入到你的瀏覽器Code的框裏,而後繼續。
網絡
而後再受到驗證郵箱的驗證碼,再輸入到瀏覽器中。而後等待驗證,他說了6個小時,其實通常一兩分鐘就會出結果。
session
經過驗證的郵件的URL,輸入到瀏覽器中進行下一步安裝證書。若是彈出的窗口依然還讓你輸入Code,那則輸入郵件下面連接的Code。 點擊Continue,接下來你的瀏覽器開始安裝私鑰,至關於創建用戶名密碼。
而後密鑰安裝成功之後提示你開始安裝證書。
證書安裝完畢之後會祝賀你。點擊完成。
而後會給你發郵件說你安裝好啦,可使用了。
服務器須要openssl 支持,並安裝了nginx.
root@iZ238l3t:~# cd /etc/nginx/ root@iZ238l3t:~# mkdir ssl root@iZ238l3t:~# cd ssl root@iZ238l3t:~# openssl genrsa -out server.key 2048 root@iZ238l3t:~# openssl req -new -key server.key -out server.csr
查看/etc/nginx/ssl 目錄下將會生成兩個文件(server.key和server.csr)
安裝提示輸入按在startssl中填寫的同樣就能夠了。
先複製server.csr文件夾中的內容,會在接下來過程當中須要。
在控制面板中Validations Wizard的選項卡中選擇Domain Name Validation,而後輸入你的域名。(這個驗證期30內有效)
接下來他會提示讓你選擇如下幾個郵箱中的任意一個來發送驗證碼,其中我選擇的郵箱是他根據Whois查到的管理郵箱。若是你不想使用管理員郵箱你能夠創建一個他提示的郵箱。
而後把收到的驗證碼再輸入到Code框中,域名驗證完成。
接下來申請域名SSL證書。點擊Certificates Wizard ,選擇下拉菜單中的Web Server
而後進入下一步他會問你驗證方式神馬的,咱們都已經在VPS上設置過了,因此這裏直接跳過。
而後在下面的網頁中輸入剛纔server.csr中拷貝出來的一串字符。
而後提示你證書信息收集好了,點擊繼續。
系統提示你必需要選擇一個二級域名來進行,你們若是申請根域名就輸入www好了。
提示成功,返回一個讓你等待的網頁。接下來就是等待官方進行審覈驗證,驗證後會發送成功或失敗的郵件到你的填寫的郵箱中。
打開StartSSL控制面板,選擇導出證書。
將代碼拷貝出來。保存成.crt格式。
# HTTPS server # server { listen 443 ssl; server_name pass.test.com; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/server.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !EXPORT !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; location / { root /mnt/web/ssl; index index.html index.htm; } }
重啓nginx
service nginx restart
訪問域名顯示工做正常。
參考:
How to Install Nginx and a StartSSL Certificate on Debian 7 (Wheezy)
https://www.linode.com/docs/websites/nginx/how-to-install-nginx-and-a-startssl-certificate-on-debian-7-wheezy
Nginx上配置Startssl 免費SSL
http://blog.nicky1605.com/the-free-ssl-configuration-startssl-on-nginx.html