服務(wù)器nginx配置ssl并http重定向到https方式
Nginx 證書部署
首先去購(gòu)買證書,以騰訊云為例子,購(gòu)買好了以后,下載了證書,解壓獲得3個(gè)文件夾,分別是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ù)器上同一個(gè)目錄,例如/usr/local/nginx/conf目錄下。
修改Nginx根目錄下 conf/nginx.conf 文件如下:
server {
listen 443;
server_name www.xxx.com; #填寫綁定證書的域名
ssl on; # nginx版本小于1.15.0 這個(gè)參數(shù)才有用 在1.15 這個(gè)參數(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; #按照這個(gè)協(xié)議配置 這里不需要更改
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個(gè)套件配置 這里不需要更改
ssl_prefer_server_ciphers on;
}需要修改的就是上述紅字部分。
配置完成后,先用bin/nginx –t來(lái)測(cè)試下配置是否有誤,正確無(wú)誤的話,
重啟nginx。 service nginx restart
然后使用 https://www.xxx.com 來(lái)訪問(wèn)。
當(dāng)然,有可能瀏覽器的https旁邊的綠色小鎖帶有黃色感嘆號(hào),那是因?yàn)楫?dāng)前網(wǎng)站還是有http的鏈接,最多的應(yīng)該是圖片,圖片的鏈接,就需要自己根據(jù)框架或者是直接改動(dòng)數(shù)據(jù)庫(kù)來(lái)操作了。
注:
| 配置文件參數(shù) | 說(shuō)明 |
|---|---|
| listen 443 | SSL訪問(wèn)端口號(hào)為443 |
| ssl on | 啟用SSL功能 (1.15版本以上被廢棄) |
| ssl_certificate | 證書文件 |
| ssl_certificate_key | 私鑰文件 |
| ssl_protocols | 使用的協(xié)議 |
| ssl_ciphers | 配置加密套件,寫法遵循openssl標(biāo)準(zhǔn) |
3 使用全站加密,http自動(dòng)跳轉(zhuǎn)https(可選)
對(duì)于用戶不知道網(wǎng)站可以進(jìn)行https訪問(wèn)的情況下,讓服務(wù)器自動(dòng)把http的請(qǐng)求重定向到https。
在服務(wù)器這邊的話配置的話,可以在頁(yè)面里加js腳本,也可以在后端程序里寫重定向,當(dāng)然也可以在web服務(wù)器來(lái)實(shí)現(xiàn)跳轉(zhuǎn)。
Nginx是支持rewrite的(只要在編譯的時(shí)候沒(méi)有去掉pcre)
在http的server里增加
rewrite ^(.*) https://$host$1 permanent;
注意 permanent 可以換成 redirect 前者是永久重定向,后者是臨時(shí)重定向, permanent永久重定向 對(duì)于ssl證書過(guò)期后不再使用的情況會(huì)導(dǎo)致用戶無(wú)法訪問(wèn)
server {
listen 80;
server_name xxx.com www.xxx.com;
rewrite ^(.*) https://$host$1 permanent;
}
要新加一個(gè)server 不要寫在listen 443里面,寫在里面就一直是https重定向到https,進(jìn)入死循環(huán)。
這樣如果是http,就會(huì)跳轉(zhuǎn)到https, 比如訪問(wèn)xxx.com或者www.xxx.com 都會(huì)重定向到https://www.xxx.com
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx 作為反向代理時(shí)設(shè)置的請(qǐng)求頭
本文主要介紹了Nginx 作為反向代理時(shí)設(shè)置的請(qǐng)求頭,主要是三個(gè)參數(shù)在Nginx作為反向代理時(shí)的作用,分別是Host、X-Real-IP和X-Forwarded-For,這些參數(shù)用于將真實(shí)的客戶端信息傳遞給后端應(yīng)用,以確保后端能夠獲取到正確的客戶端信息,避免誤判和安全問(wèn)題2026-02-02
Nginx 配置 proxy_hide_header 隱藏后端 Server&n
Nginx反向代理場(chǎng)景中,后端服務(wù)常會(huì)在響應(yīng)頭中暴露版本信息,使用proxy_hide_header指令可以在Nginx層將其過(guò)濾掉,本文就來(lái)詳細(xì)的介紹一下Nginx隱藏后端 Server 的版本信息的實(shí)現(xiàn),感興趣的可以了解一下2026-04-04
nginx配置ssl證書實(shí)現(xiàn)https訪問(wèn)的示例
這篇文章主要介紹了nginx配置ssl證書實(shí)現(xiàn)https訪問(wèn)的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Nginx實(shí)現(xiàn)跨域使用字體文件的配置詳解
這篇文章主要給大家介紹了關(guān)于Nginx實(shí)現(xiàn)跨域使用字體文件的配置方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06
Nginx中配置過(guò)濾爬蟲的User-Agent的簡(jiǎn)單方法
這篇文章主要介紹了Nginx中配置過(guò)濾爬蟲的User-Agent的簡(jiǎn)單方法,文中羅列了一些常用搜索引擎的爬蟲名稱以免造成不必要的過(guò)濾,需要的朋友可以參考下2016-01-01

