Nginx服務(wù)器上安裝SSL證書(shū)方式
1、前提條件
- 服務(wù)器已經(jīng)開(kāi)啟了443端口(HTTPS服務(wù)的默認(rèn)端口)
- 服務(wù)器上已安裝了http_ssl_module模塊
2、nginx安裝http_ssl_module模塊
2.1 查看是否安裝過(guò)http_ssl_module
進(jìn)入nginx安裝目錄執(zhí)行如下命令
./nginx -V

若出現(xiàn)“–with-http_ssl_module”說(shuō)明已經(jīng)安裝過(guò),否則繼續(xù)執(zhí)行下列步驟
2.2 進(jìn)入nginx源文件目錄
cd /usr/local/nginx/nginx-1.18.0/

2.3 重新編譯nginx
./configure --with-http_ssl_module

再執(zhí)行如下命令:
make

這里一定不要執(zhí)行make install,否則會(huì)覆蓋掉原來(lái)的nginx
2.4 用新的nginx覆蓋舊的
會(huì)多一個(gè)objs文件夾


執(zhí)行覆蓋命令(先停止nginx,./nginx -s stop)
cp ./objs/nginx /usr/local/nginx/sbin/
3、https配置(SSL證書(shū)安裝)
3.1 下載證書(shū)文件和密鑰文件
我自己用的百度云的免費(fèi)SSL證書(shū),下載證書(shū),這里格式選擇PEM_Nginx

解壓完之后有兩個(gè)文件,如下所示。

- 證書(shū)文件(以.cer或crt為后綴或文件類(lèi)型)
- 密鑰文件(以.key為后綴或文件類(lèi)型)
3.2 服務(wù)器上創(chuàng)建cert文件夾
在nginx的安裝目錄創(chuàng)建cert文件夾,并將下載的證書(shū)文件,和密鑰文件拷貝到cert目錄中。
這里我創(chuàng)建到了nginx/conf下面了,這是試了好幾次報(bào)錯(cuò)后的結(jié)果。

3.3 配置nginx.conf
打開(kāi)Nginx安裝目錄 > conf文件夾 > nginx.conf文件,在nginx.conf文件中找到以下屬性

將注釋放開(kāi),并修改內(nèi)容如下:
# 以下屬性中以ssl開(kāi)頭的屬性代表與證書(shū)配置有關(guān),其他屬性請(qǐng)根據(jù)自己的需要進(jìn)行配置。
server {
listen 443 ssl;
server_name codeleader.top; # localhost修改為您證書(shū)綁定的域名。
# ssl on; #設(shè)置為on啟用SSL功能。
root html;
index index.html index.htm;
ssl_certificate cert/codeleader.top.crt; #將domain.pem替換成您證書(shū)的文件名。
ssl_certificate_key cert/codeleader.top.key; #將domain.key替換成您證書(shū)的密鑰文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用該協(xié)議進(jìn)行配置。
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://halo;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
這里我并沒(méi)有隱藏我的域名,希望懂行的大佬不要惡意攻擊,我也只是用服務(wù)器部署小項(xiàng)目測(cè)試,并不是生產(chǎn)服務(wù)器,攻擊對(duì)您也沒(méi)啥收益。
3.4 設(shè)置http請(qǐng)求自動(dòng)跳轉(zhuǎn)https
在需要跳轉(zhuǎn)的http站點(diǎn)下添加以下rewrite語(yǔ)句,實(shí)現(xiàn)http訪問(wèn)自動(dòng)跳轉(zhuǎn)到https頁(yè)面
#設(shè)置http請(qǐng)求自動(dòng)跳轉(zhuǎn)https rewrite ^(.*)$ https://$host$1 permanent;

3.5 重啟測(cè)試
./nginx -s reload
證書(shū)安裝完成后,可通過(guò)登錄證書(shū)綁定域名的方式驗(yàn)證證書(shū)是否安裝成功。
https://domain:port #domain替換成證書(shū)綁定的域名,默認(rèn)443端口可以忽略不輸入
如果網(wǎng)頁(yè)地址欄出現(xiàn)綠色小鎖標(biāo)志,表示證書(shū)安裝成功。

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
nginx代理參數(shù)proxy_pass的實(shí)現(xiàn)
proxy_pass參數(shù)用于配置反向代理,本文主要介紹了nginx代理參數(shù)proxy_pass的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-04-04
Nginx+Keepalived實(shí)現(xiàn)雙機(jī)主備的方法
這篇文章主要介紹了Nginx+Keepalived實(shí)現(xiàn)雙機(jī)主備的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
nginx實(shí)現(xiàn)反向代理出現(xiàn)502的問(wèn)題解決
本文主要介紹了nginx實(shí)現(xiàn)反向代理出現(xiàn)502的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
詳解用nginx+WordPress搭建個(gè)人博客全流程
這篇文章主要介紹了詳解用nginx+WordPress搭建個(gè)人博客全流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Nginx Mirror模塊實(shí)現(xiàn)流量鏡像的示例代碼
在微服務(wù)與持續(xù)交付場(chǎng)景中,流量鏡像是評(píng)估新版本、壓測(cè)與采集數(shù)據(jù)的重要手段,本文講解如何使用 Nginx 原生的 mirror 模塊實(shí)現(xiàn)流量鏡像,感興趣的可以了解一下2025-12-12
Nginx 負(fù)載均衡實(shí)現(xiàn)上游服務(wù)健康檢查功能
這篇文章主要介紹了Nginx 負(fù)載均衡實(shí)現(xiàn)上游服務(wù)健康檢查,演示如何通過(guò) nginx_upstream_check_module 實(shí)現(xiàn)負(fù)載均衡上游服務(wù)器的故障轉(zhuǎn)移,需要的朋友可以參考下2024-06-06
詳解Nginx 動(dòng)態(tài) DNS 反向代理的幾種寫(xiě)法
這篇文章主要介紹了詳解Nginx 動(dòng)態(tài) DNS 反向代理的幾種寫(xiě)法,詳細(xì)的介紹了Nginx 動(dòng)態(tài) DNS 反向代理的4種方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-05-05
詳解NGINX訪問(wèn)https跳轉(zhuǎn)到http的解決方法
這篇文章主要介紹了詳解NGINX訪問(wèn)https跳轉(zhuǎn)到http的解決方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06

