最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx安裝免費SSL證書開啟Https請求實現(xiàn)步驟

 更新時間:2026年04月12日 10:59:04   作者:ALITTLE_01  
本文介紹了在CentOS中使用Let's?Encrypt獲取免費SSL證書,并配置Nginx以支持HTTPS的過程,包括安裝Nginx、Nginx?SSL模塊、獲取Let's?Encrypt證書、配置Nginx以支持HTTPS等步驟

在部分場景中,我們必須使用 https 請求,因為 https 請求更為安全,常用于支付方面的請求調(diào)用

https 的基礎(chǔ)是 ssl,我們一般是沒有 ssl 證書的,我們需要向供應商購買 ssl 證書,今天我們使用 Let’s Encrypt 獲取免費證書,搭建我們的 https 請求

1、安裝 Nginx

在 Centos 中搭建 nginx 環(huán)境,

可以參考我的這篇文章,Centos7中搭建Nginx環(huán)境

2、安裝 ssl 模塊

我們默認安裝的 nginx 是沒有 ssl 模塊的,可以輸入命令驗證,進入 nginx 的目錄

cd /usr/local/nginx/sbin/

執(zhí)行命令

./nginx -V

注意是大寫的 V,小寫的 v 只會出現(xiàn) nginx 的版本信息

如圖所示,我是已經(jīng)安裝了 ssl 模塊的,沒有安裝的可以參考如下:

  • 1> 進入到你解壓 nginx 的目錄,也就是帶用 nginx 版本信息的那個目錄
cd  /usr/local/nginx-1.8.0/

  • 2> 執(zhí)行命令
./configure --prefix=/usr/local/nginx --with-http_ssl_module

配置了 ssl 模塊,使用 make 命令重新編譯

make

注意,不能使用 make install 命令,這樣會導致重新安裝 nginx,此時當前目錄就會出現(xiàn) objs 目錄

進入 objs 目錄,會看到 nginx 的可執(zhí)行文件

  • 3> 替換 nginx 可執(zhí)行文件

我們使用這個新的 nginx 可執(zhí)行文件 替換 sbin 目錄下的 nginx 可執(zhí)行文件

cp ./nginx /usr/local/nginx/sbin/

系統(tǒng)會詢問你是否覆蓋,輸入 y 即可,如果覆蓋失敗,多半是因為你的 nginx 還在啟動中,先將 nginx 關(guān)閉即可

  • 4> 再次檢驗是否安裝 ssl 模塊

進入 nginx 目錄

cd /usr/local/nginx/sbin/

執(zhí)行命令

./nginx -V

此時就能看到 ssl 模塊已經(jīng)安裝成功了

3、獲取 ssl 證書

  • 1、Let’s Encrypt 簡介

如果要啟用 HTTPS,我們需要一個 CA 證書,Let’s Encrypt 是一個免費的證書頒發(fā)機構(gòu),由 ISRG(Internet Security Research Group)運作。

  • 2、使用 Certbot 獲取證書

Certbot 是 Let’s Encrypt 官方推薦的證書獲取工具,它可以幫助用戶很方便的獲取和更新 Let’s Encrypt 證書,Certbot 支持所有 Unix 內(nèi)核的操作系統(tǒng)。

  • 3、安裝 Certbot 客戶端

執(zhí)行命令

yum install -y epel-release
yum install -y certbot
  • 4、獲取證書

因為使用 Certbot 獲取證書時,Let’s Encrypt 服務器會訪問 http://sub.domain.com/.well-known 來驗證你的域名服務器,因此你需要修改 nginx 配置文件,配置 .well-known 指向本地一個目錄

location /.well-known {
    alias /usr/local/nginx/html/.well-known;
}

  • 5、使用 certbot 命令獲取 ssl 證書,執(zhí)行命令
certbot certonly --webroot -w /usr/local/nginx/html/ -d xxx.com -m xxxxxx@xxx.com --agree-tos
  • -w,指定 webroot 目錄
  • -d,指定想要獲取證書的域名,支持多個域名
  • -m,輸入你的郵箱地址

如果獲取成功,你的密鑰和證書存放在 /etc/letsencrypt/live/xxx.com/ 目錄下

錯誤解決:

1、ImportError: cannot import name UnrewindableBodyError

解決辦法,重裝 urllib3 庫,執(zhí)行命令

pip uninstall urllib3

卸載 urllib3 庫

pip install urllib3

安裝 urllib3 庫

2、pkg_resources.DistributionNotFound: The ‘urllib3<1.23,>=1.21.1’ distribution was not found and is required by requests

執(zhí)行命令

easy_install urllib3==1.21.1

3、ImportError: ‘pyOpenSSL’ module missing required functionality. Try upgradin

執(zhí)行命令

pip install --upgrade --force-reinstall 'requests==2.6.0'

以上就是我遇到的三個問題,期間會有詢問的地方,輸入 y 即可

以上錯誤解決完后,再次輸入命令獲取 ssl 證書

certbot certonly --webroot -w /usr/local/nginx/html/ -d xxx.com -m xxxxxx@xxx.com --agree-tos

沒錯誤,就能夠在 /etc/letsencrypt/live/xxx.com/ 目錄下看到你的 ssl 證書了

注意:

該證書 90 天有效,到期需要重新申請,你也可以通過定時任務來定時更新 ssl 證書

4、配置 nginx HTTPS server

編輯 nginx 的配置文件

cd /usr/local/nginx/conf/

編輯 nginx.conf 文件

vim nginx.conf

在 server {} 后面加入以下內(nèi)容

# HTTPS server
server {
	# 監(jiān)聽端口,默認443
	listen 443 ssl;
	# 你的域名
	server_name xxx.com;

	# 你證書的位置
	ssl_certificate      /etc/letsencrypt/live/xxx.com/fullchain.pem;
	ssl_certificate_key  /etc/letsencrypt/live/xxx.com/privkey.pem;

	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers  on;
	
	# 默認首頁
	location / {
		root   html;
           index  index.html index.htm;                   
	}
}

5、訪問測試

重啟 nginx,進入 sbin 目錄

cd /usr/local/nginx/sbin

輸入命令

./nginx -s reload

瀏覽器訪問

https://xxx.com

表示,我們的 ssl 證書生效,https 配置成功

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何利用map實現(xiàn)Nginx允許多個域名跨域

    如何利用map實現(xiàn)Nginx允許多個域名跨域

    這篇文章主要給大家介紹了關(guān)于如何利用map實現(xiàn)Nginx允許多個域名跨域的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • 使用Nginx讓網(wǎng)站快速置灰的方法

    使用Nginx讓網(wǎng)站快速置灰的方法

    這篇文章主要介紹了使用Nginx讓網(wǎng)站快速置灰的方法,首先是查看當前編譯的版本是否支持http_sub_module模塊,如果不支持需要重新編譯增加此模塊,具體配置方法參考下本文
    2023-11-11
  • nginx服務器實現(xiàn)上傳下載文件的實例代碼

    nginx服務器實現(xiàn)上傳下載文件的實例代碼

    這篇文章主要介紹了nginx服務器實現(xiàn)上傳下載文件的實例代碼,本文通過代碼給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • nginx 網(wǎng)頁匹配跳轉(zhuǎn)rewrite、location的具體使用

    nginx 網(wǎng)頁匹配跳轉(zhuǎn)rewrite、location的具體使用

    本文主要介紹了nginx 網(wǎng)頁匹配跳轉(zhuǎn)rewrite、location的具體使用
    2024-05-05
  • Nginx中root和alias指令的使用與區(qū)別

    Nginx中root和alias指令的使用與區(qū)別

    root和alias是兩個重要但經(jīng)常令人混淆的指令,尤其用于指定資源在服務器文件系統(tǒng)中的位置,本文就來介紹一下兩個指令的使用與區(qū)別,感興趣的可以了解一下
    2024-08-08
  • Nginx代理緩存靜態(tài)資源的實現(xiàn)方法

    Nginx代理緩存靜態(tài)資源的實現(xiàn)方法

    本文主要介紹了Nginx代理緩存靜態(tài)資源,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-08-08
  • Nginx-rtmp實現(xiàn)直播媒體實時流效果

    Nginx-rtmp實現(xiàn)直播媒體實時流效果

    這篇文章主要介紹了Nginx-rtmp實現(xiàn)直播媒體實時流效果,文中給出了總體設(shè)計圖,為了整合平臺,會自建RTMP流媒體服務器和使用云廠商SaaS的RTMP流媒體服務,需要的朋友可以參考下
    2018-08-08
  • Linux中安裝Nginx的正確步驟

    Linux中安裝Nginx的正確步驟

    這篇文章主要給大家介紹了關(guān)于在Linux中安裝Nginx的正確步驟,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Nginx具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • Nginx實現(xiàn)根據(jù)域名http、https分發(fā)配置示例

    Nginx實現(xiàn)根據(jù)域名http、https分發(fā)配置示例

    這篇文章主要介紹了Nginx實現(xiàn)根據(jù)域名http、https分發(fā)配置示例,本文同時介紹了openssl證書生成方法,需要的朋友可以參考下
    2014-10-10
  • Nginx限制特定IP訪問自己的網(wǎng)站實現(xiàn)的幾種方法

    Nginx限制特定IP訪問自己的網(wǎng)站實現(xiàn)的幾種方法

    本文主要介紹了使用Nginx限制特定IP訪問自己的網(wǎng)站的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12

最新評論

冷水江市| 清新县| 兴隆县| 濮阳县| 临潭县| 阳江市| 阳江市| 克东县| 凉山| 汾西县| 武邑县| 宜宾市| 睢宁县| 抚宁县| 大足县| 博客| 峨山| 同江市| 新田县| 寻甸| 义乌市| 天津市| 夹江县| 易门县| 阿坝| 白银市| 开平市| 克山县| 淮北市| 彝良县| 彭水| 岑巩县| 哈巴河县| 灵山县| 达州市| 淮安市| 新和县| 开鲁县| 岑溪市| 中方县| 安宁市|