在linux的nginx中配置https及自動跳轉


環境:系統ubuntu16 申請證書是騰訊雲免費證書

 

首先我在安裝nginx SSL證書的時候犯了個錯誤,nginx是需要安裝SSl的模塊不然沒法配置完成。需要安裝一個 http_ssl_module.這是自己踩了一個坑,如果不加上的話,在后面配置完配置文件檢查時就會報這個錯

 

查看原有的模塊,重新編譯

安裝SSL編譯

 

這里注意只需要make

備份二進制文件,這一步我是看網上的,沒感覺有什么用,這里我選擇刪了試試,我刪除后服務並沒有受到影響,仍然能繼續訪問。

清除nginx安裝包

 

開啟nginx

上傳證書解壓

解壓后文件一共有這么多,進入nginx目錄后發現兩個秘鑰,把它們拷貝到/usr/local/nginx/conf的目錄里面

crt是證書文件,分為兩段

key是私鑰文件,分為兩段

 

配置nginx/conf/nginx.conf的文件

默認在第98

 

配置文件如下

server {
listen 443 ssl;
server_name www.fengxiao.xyz;#綁定證書的域名
ssl_certificate 1_www.fengxiao.xyz_bundle.crt;#證書
ssl_certificate_key 2_www.fengxiao.xyz.key;#秘鑰
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#ssl這個協議配置
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;

location / {
root html;
index index.html index.htm;
}
}

檢查nginx配置是否正確

 

接下來就是見證奇跡的時刻,訪問不到,為啥了,沒有重啟nginx,重啟nginx后,訪問https

 

但是有個問題來了,不是自動跳轉,接下來需要配置自動跳轉,如果不輸入https默認訪問的還是http。在conf的配置文件里nginx.confserver字段里加入

 

檢查配置重啟

測試訪問 www.fengxiao.xyz

哎,只能備案后再試了,但是按道理說應該自動跳轉到https,可能沒有成功。好吧今晚到此為止,等申請了備案再做。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM