天天看點

nignx配置https服務

簡單介紹

HTTPS是以安全為目标的HTTP通道 簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,是以加密的詳細内容就需要SSL;

說到ssl就不得不說一下OpenSSL OpenSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協定,并提供豐富的應用程式供測試或其它目的使用。

準備工作

擷取ca證書 https應用關鍵在于證書  這個證書是需要付費的 天朝的大概從一年幾百到幾萬不等  此處為了測試我申請了沃通免費ca證書

到這裡去申請  http://freessl.wosign.com/freessl 申請步驟相當簡單 如圖:

nignx配置https服務

填寫完基本資訊以後通過網站驗證即可申請  申請完成以後大概需要等10-30分鐘 會郵件通知你去下載下傳證書

上傳證書

下載下傳證書   然後找到對應的nginx版本拿出其中  你的域名.crt 和 你的域名.key 兩個檔案

将這兩個檔案上傳到伺服器上  注意不要放在web站點可以通路到的位置 并且需要修改目錄權限 安全第一

修改配置

上傳完以後就該修改nginx配置了 修改如下

server {
    listen       443;
    ssl on;
    ssl_certificate /etc/nginx/ssl/你的.crt;
    ssl_certificate_key /etc/nginx/ssl/你的.key;
    server_name  www.xxx.com;

    location / {
        root   /web;
        index  index.html;
    }
}
           

wq儲存退出 檢查文法問題

nginx -t
           

重新開機服務

service nginx restart
           

注意 https的預設端口為443  但是一般使用者不會 https://www.xxx.com這樣通路

而是www.xxx.com這樣通路  這樣預設是走http服務  也就是80端口  怎麼辦呢?

很簡單 再配置一段 如下

server {
    listen       80;
    server_name  www.xxx.com;

    location / {
        root   /web;
        index  location.html;
    }
}

server {
    listen       443;
    ssl on;
    ssl_certificate /etc/nginx/ssl/你的.crt;
    ssl_certificate_key /etc/nginx/ssl/你的.key;
    server_name  www.xxx.com;

    location / {
        root   /web;
        index  index.html;
    }
}
           

然後在你的web站點下建立location.html 内容如下:

<html>
   <meta http-equiv="refresh" content="0;url=https://www.xxx.com" />
</html>
           

利用 meta标簽的跳轉将通路域名指向你的https服務  最後 大功告成  通路下試試

nignx配置https服務

繼續閱讀