Nginx設置ssl證書實現https安全連接

一、引入

近些年來,各種網絡安全事件層出不窮。隨着人們對安全意識的逐步增強,給個人網站申請ssl證書就顯得刻不容緩。

二、方法

  1. 從域名提供商網站購買ssl證書,阿里雲個人版的ssl證書是免費的,其他平臺自行測試。

  2. 進行證書申請,填寫相關信息

  3. 待運營商簽發證書完畢,點擊下載選項可以下載證書文件

  4. 服務器配置,以Nginx爲例

    下載得到兩個文件:
    證書文件:以.pem爲後綴或文件類型。
    密鑰文件:以.key爲後綴或文件類型。

    登錄您的Nginx服務器,在Nginx安裝目錄(默認Nginx安裝目錄爲/usr/local/nginx/conf)下創建cert目錄,並將下載的證書文件和密鑰文件拷貝到cert目錄中,然後再修改Nginx安裝目錄/conf/nginx.conf文件

    以下屬性中以ssl開頭的屬性代表與證書配置有關,其他屬性請根據自己的需要進行配置。

    server {
    listen 443 ssl;   #SSL協議訪問端口號爲443。此處如未添加ssl,可能會造成Nginx無法啓動。
    server_name localhost;  #將localhost修改爲您證書綁定的域名,例如:www.example.com。
    root html;
    index index.html index.htm;
    ssl_certificate cert/domain name.pem;   #將domain name.pem替換成您證書的文件名。
    ssl_certificate_key cert/domain name.key;   #將domain name.key替換成您證書的密鑰文件名。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用該協議進行配置。
    ssl_prefer_server_ciphers on;   
    location / {
    root html;   #站點目錄。
    index index.html index.htm;   
    }
    }                     
    

    還可以設置訪問http自動跳轉https:

    server {
    listen 80;
    server_name localhost;   #將localhost修改爲您證書綁定的域名,例如:		www.example.com。
    rewrite ^(.*)$ https://$host$1 permanent;   #將所有http請求通過rewrite重定向到	https。
    location / {
    index index.html index.htm;
    	}
    }
    

    所有配置文件更改完成後,使用service nginx restart就可以重啓你的Nginx服務器,然後使用https://your domain.com進行你的網站訪問。

三、一些可能存在的問題

問:爲什麼我已經使用了https,瀏覽器仍然顯示不安全?
答:可能你的網站使用了一些靜態資源未通過https協議傳輸,導致整個網站處於不安全狀態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章