服務(wù)器nginx配置ssl并http重定向到https方式
Nginx 證書部署
首先去購買證書,以騰訊云為例子,購買好了以后,下載了證書,解壓獲得3個文件夾,分別是Apache、IIS、Nginx 服務(wù)器的證書文件
1 獲取證書
Nginx文件夾內(nèi)獲得SSL證書文件 1_www.xxx.com_bundle.crt 和私鑰文件 2_www.xxx.com.key,
2 證書安裝
將域名 www.xxx.com 的證書文件1_www.xxx.com_bundle.crt 、私鑰文件2_www.xxx.com.key保存到服務(wù)器上同一個目錄,例如/usr/local/nginx/conf目錄下。
修改Nginx根目錄下 conf/nginx.conf 文件如下:
server { listen 443; server_name www.xxx.com; #填寫綁定證書的域名 ssl on; # nginx版本小于1.15.0 這個參數(shù)才有用 在1.15 這個參數(shù)被棄用了,直接上面 listen 443 ssl; 即可 2020年09月28日 ssl_certificate 1_www.xxx.com_bundle.crt; ssl_certificate_key 2_www.xxx.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協(xié)議配置 這里不需要更改 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個套件配置 這里不需要更改 ssl_prefer_server_ciphers on; }
需要修改的就是上述紅字部分。
配置完成后,先用bin/nginx –t
來測試下配置是否有誤,正確無誤的話,
重啟nginx。 service nginx restart
然后使用 https://www.xxx.com
來訪問。
當然,有可能瀏覽器的https旁邊的綠色小鎖帶有黃色感嘆號,那是因為當前網(wǎng)站還是有http的鏈接,最多的應(yīng)該是圖片,圖片的鏈接,就需要自己根據(jù)框架或者是直接改動數(shù)據(jù)庫來操作了。
注:
配置文件參數(shù) | 說明 |
---|---|
listen 443 | SSL訪問端口號為443 |
ssl on | 啟用SSL功能 (1.15版本以上被廢棄) |
ssl_certificate | 證書文件 |
ssl_certificate_key | 私鑰文件 |
ssl_protocols | 使用的協(xié)議 |
ssl_ciphers | 配置加密套件,寫法遵循openssl標準 |
3 使用全站加密,http自動跳轉(zhuǎn)https(可選)
對于用戶不知道網(wǎng)站可以進行https訪問的情況下,讓服務(wù)器自動把http的請求重定向到https。
在服務(wù)器這邊的話配置的話,可以在頁面里加js腳本,也可以在后端程序里寫重定向,當然也可以在web服務(wù)器來實現(xiàn)跳轉(zhuǎn)。
Nginx是支持rewrite的(只要在編譯的時候沒有去掉pcre)
在http的server里增加
rewrite ^(.*) https://$host$1 permanent;
注意 permanent 可以換成 redirect 前者是永久重定向,后者是臨時重定向, permanent永久重定向 對于ssl證書過期后不再使用的情況會導(dǎo)致用戶無法訪問
server { listen 80; server_name xxx.com www.xxx.com; rewrite ^(.*) https://$host$1 permanent; }
要新加一個server 不要寫在listen 443里面,寫在里面就一直是https重定向到https,進入死循環(huán)。
這樣如果是http,就會跳轉(zhuǎn)到https, 比如訪問xxx.com或者www.xxx.com 都會重定向到https://www.xxx.com
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
nginx 代理80端口轉(zhuǎn)443端口的實現(xiàn)
這篇文章主要介紹了nginx 代理80端口轉(zhuǎn)443端口的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09Apache Nginx 禁止目錄執(zhí)行PHP腳本文件的方法
這篇文章主要介紹了Apache Nginx 禁止目錄執(zhí)行PHP腳本文件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06