目前大多數網站都是在用的HTTPS,爲何要用HTTPS你們必定是都知道的,從HTTP升級到HTTPS,也是爲網站的安全性來考慮的。HTTPS是在HTTP的基礎上加上了SSL安全認證,是正所謂HTTPS=HTTP + SSL。爲了方面本身寫文章,相信大多數同窗都有搭建本身的我的博客(本身純手寫或者使用靜態模板),大多數應該是服務在本身的Nginx服務上或者使用Github託管,使用Nginx作代理的起初是經過HTTP來訪問的,因此須要本身手動去配置成HTTPS的。html
至於爲何推進我去作這件事情?緣由有三點nginx
搭建HTTPS須要用到SSL證書,這個證書是由CA認證機構來頒發的,通常都是須要RMB的,固然也有一些免費的。FreeSSL就是一個提供免費HTTPS證書申請的網站,筆者就是從這上面申請的。面試
首先進入這個網站的首頁瀏覽器
CSR生成由於官網推薦,因此就選擇了離線生成。安全
輸入郵箱以後點擊建立,點擊以後會提示打開KeyManager,這個是用來管理證書的,若是本身電腦上沒有能夠去點進去官網下載。服務器
驗證經過以後就會看到證書信息,你看到的應該和這個不太同樣(應該是有個經過KeyManager管理的按鈕) session
點擊使用KeyManager管理,就可使用那個管理平臺來管理你的證書了。測試
進入KeyManager證書管理就會看到你的證書。網站
第一步得到證書已經完成,下面就須要進行配置了。服務器配置主要分爲如下幾步:ui
筆者是使用的騰訊雲的服務器(阿里雲也能夠,都是學生價,便宜),建議將證書放在便於管理的地方,建議放在/etc/ssl
下,看名字也知道是用來存在ssl證書的。
將證書傳入到服務器上可使用Linux的scp
命令
#若是是文件
scp 你的ssl證書文件 root@你的服務器ip:/etc/ssl
# 若是是文件夾
scp -r 你的ssl證書文件夾 root@你的服務器ip:/etc/ssl
複製代碼
若是傳的是文件,進入服務器上進行解壓,解壓完成以後,就會獲得兩個文件:一個是crt
後綴的,一個是key
後綴的。
將證書放在服務器上以後須要去修改nginx.conf配置。由於以前是使用的80端口,可是HTTPS使用的443端口,因此要修改一下。
通常Nginx上都有443端口的配置,可是註釋的,只要打開註釋修改一點信息便可。
下面是個人443端口的配置。
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name kim.cckim.cn;
root /usr/share/nginx/html;
ssl_certificate "/etc/ssl/xxxxx/xxxxx.crt";
ssl_certificate_key "/etc/ssl/xxxxx/xxxxx.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
root /usr/share/nginx/html/public;
index index.html;
}
error_page 404 /404.html;
location = /40x.html {
}
}
複製代碼
將全部的註釋打開,下面說一下須要修改的地方
nginx.conf上443端口的配置就基本完成了
若是你的雲服務器上沒有開發443端口的話須要去服務器平臺的安全組中開發443端口。
操做完成以後就先訪問一下,可能你會發如今瀏覽器中輸入kim.cckim.cn
(輸入你的域名)是是沒法訪問的,可是輸入https://kim.cckim.cn
(仍是輸入你的域名)就能夠訪問。
是由於域名到nginx默認走的是http,還須要對http作一下重定向到https上。
重定向只須要在nginx.conf文件中配置一下便可。
server {
listen 80;
server_name kim.cckim.cn;
return 301 https://$host$request_uri;
}
複製代碼
這裏server_name寫你本身的域名便可。再次直接使用域名訪問的話就能夠了。
筆者應該是配置HTTPS比較靠後的一批了,相信已經有不少同窗完成。此次把本身的配置過程記錄向來,但願能夠給沒有配置過HTTPS的同窗一些幫助。