Nginx是目前最新的高效能Web伺服器,和傳統的Apache伺服器相比,特別在大量的客戶並發連線下,效能提高10倍以上。很多大型的PHP網站都採用了Nginx伺服器。雖然Nginx採用是Linux2.6核心和epull架構的網路I/O模型,但使用上和Apache還是比較相似,是Apache一個非常不錯的替代產品。
SSL憑證是數位憑證的一種,類似駕照、護照和營業執照的電子副本。因為配置在伺服器上,也稱為SSL伺服器憑證。 SSL 憑證就是遵守SSL協議,由受信任的數位憑證授權單位CA,在驗證伺服器身分後頒發,具有伺服器驗證和資料傳輸加密功能。
握手協定是客戶機和伺服器用SSL連線通訊時使用的第一個子協議,握手協定包含客戶機與伺服器之間的一系列訊息。 SSL中最複雜的協定就是握手協定。該協定允許伺服器和客戶機相互驗證,協商加密和MAC演算法以及保密金鑰,用來保護在SSL記錄中發送的資料。握手協定是在應用程式的資料傳輸之前使用的。
記錄協議在客戶機和伺服器握手成功後使用,即客戶機和伺服器鑑別對方和確定安全資訊交換使用的演算法後,進入SSL記錄協議,記錄協定為SSL連線提供兩個服務:
(1)保密性:使用握手協定定義的秘密金鑰實作
(2)完整性:握手協定定義了MAC,用於保證訊息完整性
客戶機和伺服器發現錯誤時,向對方發送警報訊息。如果是致命錯誤,演算法立即關閉SSL連接,雙方也會先刪除相關的會話號,秘密和金鑰。每個警報訊息共2個位元組,第1個位元組表示錯誤類型,如果是警報,則值為1,如果是致命錯誤,則值為2;第2個位元組制定實際錯誤類型。
憑證下載後解壓縮會看見後綴.key 和.pem 的文件,把這兩個文件上傳到nginx伺服器上,然後在conf檔案下方建立cert資料夾,把憑證拷貝到這個檔案下面。
./nginx -t 查看nginx安裝路徑,找到nginx.conf設定檔編輯
在server下面新增
server_name 你的網域位址;
listen 443 ssl;
ssl_certificate conf/cert/.pem;
ssl_certificate_key conf/cert/.key;
新增一個server新增以下配置
listen 80;
server_name 你的網域;
rewrite ^(.*)$ https://$host$1;
./nginx -s reload
最後開啟網頁驗證
以上是Nginx部署SSL憑證的方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!