簡單介紹
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服務 最後 大功告成 訪問下試試