最近在弄本身的我的網站,順便也讓網站支持了一波 https
訪問。當你在 Chrome 瀏覽器
訪問一些網站時,發現網站在網址左側都有一個🔐的圖標,點擊顯示當前鏈接是安全的。轉身看看本身的網站,發現一個感嘆號,而且友情提示鏈接不安全,可能會受到攻擊。這不能忍!!!nginx
近幾年,Google
愈來愈重視 Web 站點的安全性,並一直大力推廣網站採用 https
協議,並經過改變 Chrome
用戶界面來引導用戶,讓用戶明白採用HTTPS
協議的網站比採用 http
協議的網站更安全可靠,那咱們就響應改變瀏覽器
我申請的是 騰訊雲 上的免費版 DVSSl 證書
,申請審覈經過後能夠對證書進行下載,有效期是1年。若是本身弄嫌麻煩能夠在上面申請(審覈通常很快)安全
注意:因爲CA機構和證書代理商策略調整,從2018年1月1日起,同一主域最多隻能申請20張亞洲誠信品牌免費型DV版SSL證書bash
下載的文件中分別有 Apache
、IIS
、Nginx
和 Tomcat
版本的證書,這裏只介紹 Nginx
如何配置session
若是沒有安裝須要先安裝 Nginx
,咱們只需配置 Nginx
,使其支持 https 即443端口的訪問網站
編輯 /etc/nginx/nginx.conf
配置文件,固然路徑可能不同,只要能編輯到nginx.conf
文件就行spa
nginx.conf
文件中通常默認已經有80端口
的配置:3d
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
...
}
}
複製代碼
加上https 443端口
的配置:代理
# Settings for a TLS enabled server.
#
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name _;
ssl_certificate "/etc/pki/nginx/server.crt";
ssl_certificate_key "/etc/pki/nginx/private/server.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 / {
...
}
}
複製代碼
ssl_certificate
字段是證書路徑,ssl_certificate_key
是私鑰路徑。將咱們以前下載的證書和私鑰文件配置到對應路徑。code
修改了 nginx.conf
後別忘了從新 reload Nginx
使其生效
$ nginx -s reload
複製代碼
將請求地址從 http://xxx 替換爲 https://xxx ,若是可正常訪問說明配置成功,瀏覽器請求地址旁邊的標識,已經變成了一個🔐的圖標
若是發現圖標仍是一個感嘆號,標記爲鏈接不安全,這是由於網站中存在 http
的資源,只要將全部 http
資源替換就行了