簡單介紹
HTTPS是以安全為目标的HTTP通道 簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,是以加密的詳細内容就需要SSL;
說到ssl就不得不說一下OpenSSL OpenSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協定,并提供豐富的應用程式供測試或其它目的使用。
準備工作
擷取ca證書 https應用關鍵在于證書 這個證書是需要付費的 天朝的大概從一年幾百到幾萬不等 此處為了測試我申請了沃通免費ca證書
到這裡去申請 http://freessl.wosign.com/freessl 申請步驟相當簡單 如圖:
填寫完基本資訊以後通過網站驗證即可申請 申請完成以後大概需要等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服務 最後 大功告成 通路下試試