基於 Nginx 的 HTTPS 證書配置實踐

2021-10-22 06:08:48 字數 2348 閱讀 5626

前往 韋世東的技術專欄 收穫爬蟲架構/爬蟲逆向/儲存引擎/訊息佇列/python/golang相關知識

https 的好處就不多說了,不過隨著 chrome 和 firefox 在位址列新增了明顯的鎖標識,甚至在使用者訪問網頁的時候會顯示

這樣一來,我們就不得不給自己的站點加上 ssl 證書,否則會損失不少的訪問量。

1_weishidong.com_bundle.cert

2_weishidong.com.key

將這 2 個檔案複製到 weishidong.com **所在的伺服器的/etc/ssl目錄下,接著開啟站點(這裡是 weishidong.com 站點)對應的 nginx 的配置檔案(我的站點對應的是 weishidong.conf),調整以下server配置:

server 

}

配置完成之後執行nginx -s reload即可生效。

當我們配置好 ssl 證書後,希望所有以 http 協議訪問站點的流量都自動跳轉到 https 協議,可以通過 nginx 的 rewrite 重定向功能實現。開啟站點對應的 nginx 配置檔案,在剛才的 server 同級再增加乙個 server 配置:

server
配置完成後記得執行nginx -s reload使新配置生效。

由於 nginx 的安裝方式或者編譯選項不同,在我們配置好之後有可能會發現 https 並不生效,這時候開啟 nginx 的 errors 日誌檢視具體原因,例如nginx: the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf,這是提示我們 nginx 並未開啟 ssl 模組。

如何檢視呢?

執行命令nginx -v即可檢視 nginx 編譯時指定的引數,終端顯示:

configure arguments: --prefix=/usr/local/nginx  --add-module=/usr/local/nginx-module-vts
原來這裡真的沒有 ssl 相關模組,這就需要重新編譯 nginx(通過 rpm 等方式安裝的 nginx 並不會缺失這些基礎模組,只有安裝時手動編譯的才有可能會缺失)。

現在需要找到 nginx 的原始碼目錄,在原始碼目錄中執行:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/usr/local/nginx-module-vts
這個命令是在原來已有模組的基礎上新增 http_stub_status_module 和 http_ssl_module 模組。編譯完成後執行make命令(記住,不要執行 make install)。接著備份現在正在執行的 nginx 可執行檔案:

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
將剛才編譯好的 nginx 覆蓋原來的 nginx:

cp ./objs/nginx /usr/local/nginx/sbin/
覆蓋完成後通過命令/usr/local/nginx/sbin/nginx -v檢視覆蓋結果。如果顯示的內容中帶有http_stub_status_modulehttp_ssl_module則說明重新編譯成功。

執行/usr/local/nginx/sbin/nginx -s reload即可,一切完工。

⚠️ 如果不生效,就要考慮關停(/usr/local/nginx/sbin/nginx -s reload) nginx 後再開啟(/usr/local/nginx/sbin/nginx

nginx 配置https證書

安裝證書 檔案說明 1.證書檔案214467769540415.pem,包含兩段內容,請不要刪除任何一段內容。2.如果是證書系統建立的csr,還包含 證書私鑰檔案214467769540415.key。2 開啟 nginx 安裝目錄下 conf 目錄中的 nginx.conf 檔案,找到 3 將其修...

Nginx配置Https證書

生成sll證書步驟 一 生成乙個rsa金鑰 openssl genrsa des3 out huqp.key 1024 二 拷貝乙個不需要輸入密碼的金鑰檔案 openssl rsa in huqp.key out huqp nopass.key 三 生成乙個證書請求 openssl req new ...

NGINX配置HTTPS證書

訪問網域名稱 www.xingyongsheng.top xingyongsheng.top 證書型別 在阿里雲申請的免費證書 上面兩個網域名稱申請其中之一即可 nginx版本 nginx 1.16.1 作業系統 centos linux release 7.8.2003 core 路徑 data ...