日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

如何在 CentOS 7 上生成 SSL 证书为 Nginx 加密

發(fā)布時間:2025/3/21 Nginx 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在 CentOS 7 上生成 SSL 证书为 Nginx 加密 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文首發(fā):開發(fā)指南:如何在 CentOS 7 上安裝 Nginx

Let’s Encrypt 是由 Internet Security Research Group (ISRG) 開發(fā)的一個自由、自動化和開放的證書頒發(fā)機(jī)構(gòu)。目前幾乎所有的現(xiàn)代瀏覽器都信任由 Let’s Encrypt 頒發(fā)的證書。

這個教程,將會一步一步的教你如何在 CentOS 7 上通過 Certbot 來生成 SSL 安全證書,并配置到 Nginx 上。

開始前的準(zhǔn)備

在繼續(xù)此教程之前,請確保你已經(jīng)滿足了以下兩個條件:

  • 請確保你已經(jīng)擁有了一個屬于你的域名,并且已經(jīng)解析到了你的服務(wù)器 IP 上,在接下來的教程中,我將會用 kaifazhinan.com 作為本教程的域名。
  • 請確保你已經(jīng)啟用了 EPEL 倉庫,并且已經(jīng)安裝了 Nginx,如果你還沒有安裝 Nginx,你可以先閱讀 如何在 CentOS 7 上安裝 Nginx 這篇文章來安裝 Nginx。

安裝 Certbot

Certbot 是一個非常簡單方便的工具,它可以幫助我們生成 SSL 證書,自動更新 SSL 證書,并且將證書配置到 Web 服務(wù)上。

可以運行以下命令,從 EPEL 倉庫中安裝 Certbot:

sudo yum install certbot

生成 Dh (Diffie-Hellman) 組

Diffie–Hellman 密匙交換是一種可以在不安全的通信信道上安全交換密鑰的方法。

現(xiàn)在運行以下命令,可以來生成一個新的 2048 位的 DH 參數(shù):

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 2048 位,生成時間大概 3-5 分鐘左右。當(dāng)然,如果您愿意也可以將大小改為 4096 位,但是這樣的話,可能生成的時間至少需要花費 30 分鐘,此操作具體時長取決于系統(tǒng)熵。

生成 SSL 證書

要生成域名的 SSL 證書,我們將使用 Webroot 插件在 ${webroot-path}/.well-known/acme-challenge 目錄中創(chuàng)建臨時文件來驗證請求的域名。Let's Encrypt 服務(wù)器會向臨時文件發(fā)出 HTTP 請求,以驗證請求的域名是否被正確的解析到了正在運行 Certbot 的服務(wù)器。

為了簡便,我們將把所有訪問 .well-known/acme-challenge 的 HTTP 請求都映射到 /var/lib/letsencrypt 這個目錄中。

下面的命令將會創(chuàng)建這個目錄,并且使 Nginx 對它擁有讀寫的權(quán)限。

sudo mkdir -p /var/lib/letsencrypt/.well-known sudo chgrp nginx /var/lib/letsencrypt sudo chmod g+s /var/lib/letsencrypt

創(chuàng)建代碼片段

為了避免 Nginx 配置文件中存在重復(fù)的代碼,請創(chuàng)建以下兩個代碼片段(里面是 Nginx 的配置代碼),我們將在相關(guān)的 Nginx 配置文件中包含這些片段:

1、首先,創(chuàng)建一個目錄,用于存放 Nginx 配置的代碼片段文件:

sudo mkdir /etc/nginx/snippets

2、創(chuàng)建第一個片段文件, letsencrypt.conf,其全路徑為: /etc/nginx/snippets/letsencrypt.conf

location ^~ /.well-known/acme-challenge/ {allow all;root /var/lib/letsencrypt/;default_type "text/plain";try_files $uri =404; }

3、創(chuàng)建第二個片段文件,ssl.conf,其全路徑為: /etc/nginx/snippets/ssl.conf

ssl_dhparam /etc/ssl/certs/dhparam.pem;ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off;ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on;ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 30s;add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload"; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;

上面的代碼中包含 Mozilla 的推薦部分。 支持 OCSP Stapling,HTTP 嚴(yán)格傳輸安全(HSTS)并強(qiáng)制執(zhí)行幾個以安全為中心的 HTTP 頭。

加載 letsencrypt.conf

代碼片段創(chuàng)建完成之后,就可以打開 Nginx 的域名獨立配置文件,將 letsencrypt.conf 文件引入。

在這里,我們的域名是 kaifazhinan.com ,所以我們的配置文件為 kaifazhinan.com.conf, 文件的全路徑為 /etc/nginx/conf.d/kaifazhinan.com.conf

server {listen 80;server_name kaifazhinan.com www.kaifazhinan.com;include snippets/letsencrypt.conf; }

注意: 我們建議針對不同的域名,創(chuàng)建不同的獨立配置文件。這樣會比較清晰,便于管理和查找對應(yīng)的配置。

Nginx 的主配置文件中有一行代碼是 include /etc/nginx/conf.d/*.conf,這行代碼的意思就是加載 /etc/nginx/conf.d/ 目錄下所有以 .conf 結(jié)尾的配置文件,所以我們直接將獨立的配置文件保存在 /etc/nginx/conf.d/ 目錄下就會自動引入。

生成證書

重新加載 Nginx 配置使更改生效:

sudo systemctl reload nginx

你現(xiàn)在可以運行 Certbot 使用 Webroot 插件,為你的域名生成 SSL 證書:

sudo certbot certonly --agree-tos --email admin@kaifazhinan.com --webroot -w /var/lib/letsencrypt/ -d kaifazhinan.com -d www.kaifazhinan.com

注意: 記得將 admin@kaifazhinan.com 換成你自己的郵箱,還有 kaifazhinan.comwww.kaifazhinan.com 換成你的域名。

如果成功的生成了 SSL 證書,那么 Certbot 將打印類似以下的內(nèi)容:

IMPORTANT NOTES:- Congratulations! Your certificate and chain have been saved at:/etc/letsencrypt/live/kaifazhinan.com/fullchain.pemYour key file has been saved at:/etc/letsencrypt/live/kaifazhinan.com/privkey.pemYour cert will expire on 2019-02-11. To obtain a new or tweakedversion of this certificate in the future, simply run certbotagain. To non-interactively renew *all* of your certificates, run"certbot renew"- If you like Certbot, please consider supporting our work by:Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donateDonating to EFF: https://eff.org/donate-le

配置 Nginx

現(xiàn)在你已經(jīng)成功生成了 SSL 證書,現(xiàn)在可以修改 Nginx 的域名配置了,這里我們的域名是配置文件是 kaifazhinan.com.conf,文件的全路徑是 /etc/nginx/conf.d/kaifazhinan.com.conf

server {listen 80;server_name www.kaifazhinan.com kaifazhinan.com;include snippets/letsencrypt.conf;return 301 https://$host$request_uri; }server {listen 443 ssl http2;server_name www.kaifazhinan.com;ssl_certificate /etc/letsencrypt/live/kaifazhinan.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/kaifazhinan.com/privkey.pem;ssl_trusted_certificate /etc/letsencrypt/live/kaifazhinan.com/chain.pem;include snippets/ssl.conf;include snippets/letsencrypt.conf;return 301 https://kaifazhinan.com$request_uri; }server {listen 443 ssl http2;server_name kaifazhinan.com;ssl_certificate /etc/letsencrypt/live/kaifazhinan.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/kaifazhinan.com/privkey.pem;ssl_trusted_certificate /etc/letsencrypt/live/kaifazhinan.com/chain.pem;include snippets/ssl.conf;include snippets/letsencrypt.conf;# 如果有補(bǔ)充的配置,可以寫在這里 }

上面的代碼,我們將 HTTP 的請求重定向到了 HTTPS,將 www.kaifazhinan.com 重定向到了 kaifazhinan.com 上。

最后,通過下面的命令,重新加載 Nginx,使上面的配置生效:

sudo systemctl reload nginx

自動更新 Let’s Encrypt SSL 證書

Let’s Encrypt 頒發(fā)的 SSL 證書有效時間是 90 天。我們需要在證書過期之前自動續(xù)訂證書,這里將創(chuàng)建一個每天運行兩次的定時任務(wù) ,并在證書到期前 30 天自動續(xù)訂。

通過運行 crontab 命令,來創(chuàng)建一個定時任務(wù):

sudo crontab -e

上面的命令,會自動創(chuàng)建一個文件,并自動進(jìn)入編輯狀態(tài),所以直接復(fù)制下面的內(nèi)容粘貼到里面即可:

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload nginx"

保存并關(guān)閉文件。

如果要測試是否能夠正常更新證書,你可以在 certbot 命令后面添加 --dry-run 這個參數(shù)來主動觸發(fā)更新命令。

sudo certbot renew --dry-run

如果沒有輸出錯誤,則表示 SSL 證書更新成功。

總結(jié)

通過此教程,你學(xué)會了:

  • 如何使用 Let’s Encrypt 客戶端 Certbot 為你的域名創(chuàng)建了 SSL 證書;
  • 也通過創(chuàng)建 Nginx 的代碼片段,來避免 Nginx 配置文件中的代碼冗余,并且將 SSL 證書配置到了 Nginx 服務(wù)中;
  • 最后,你還創(chuàng)建了一個定時任務(wù),來自動更新你的 SSL 證書,保證它不會過期。

如果你想了解 Certbot 的更多信息,可以參考它的官方文檔。

期待下次與你相見 : )

本文首發(fā):開發(fā)指南:如何在 CentOS 7 上安裝 Nginx

總結(jié)

以上是生活随笔為你收集整理的如何在 CentOS 7 上生成 SSL 证书为 Nginx 加密的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一二三四av | 91久久精品夜夜躁日日躁欧美 | 国产精品乱码妇女bbbb | 一区二区不卡 | 国产网站黄 | 精品色综合 | 荫道bbwbbb高潮潮喷 | 操你啦影院 | 久草免费在线视频观看 | av免费在线网站 | 中文字幕导航 | 亚洲精品中文字幕乱码无线 | 日韩美女三级 | 亚洲国产中文字幕在线观看 | 夜色一区二区 | 亚洲视频在线免费看 | 波多野结衣调教 | 亚洲午夜一区二区三区 | 我想看一级黄色片 | 毛片91| 亚洲精品视频三区 | 国产成人三级在线观看 | 麻豆精品久久久久久久99蜜桃 | 国产成人精品女人久久久 | 成人av一区 | 超碰狠狠干 | 久久99国产精品久久99 | 亚洲国产精品福利 | 一二三四区视频 | 国产素人在线 | 久久精品蜜桃 | 成人在线免费播放 | 久久国产精品国产精品 | 俄罗斯色片 | 天天摸天天摸 | 久久亚洲精品中文字幕 | 巨物撞击尤物少妇呻吟 | 欧美一卡二卡三卡 | 免费一级a毛片夜夜看 | 色福利网 | 国模叶桐尿喷337p人体 | 亚洲午夜18毛片在线看 | 午夜伦理剧场 | 91久久精品一区二区别 | 美女少妇av | 欧美三级午夜理伦 | 亚洲成人基地 | 成人永久免费视频 | 黄色片高清 | 超碰超碰在线 | 日韩一卡二卡三卡四卡 | 久久久久无码精品 | 九草在线观看 | 一边摸上面一边摸下面 | xxxxx日韩| 男女黄色又爽大片 | 成人在线黄色 | 天堂av一区二区 | 在办公室被c到呻吟的动态图 | 姐姐的秘密韩剧免费观看全集中文 | 丰满尤物白嫩啪啪少妇 | 日韩二区 | 91av在线看 | 国产三级久久久 | 男人懂的网站 | 欧美久久天堂 | 妇女一级片 | 素人女裸体 | 国产亚洲精品成人 | 伊人超碰 | 欧美熟妇毛茸茸 | 久久久男人的天堂 | 成人欧美视频 | 免费性视频 | 国产综合在线视频 | 在线成人免费电影 | 国产在线视频导航 | 国产污在线观看 | 在线播放无码后入内射少妇 | 日韩大片免费观看视频播放 | 中文字幕91爱爱 | 一级特黄色大片 | 国产又粗又长又硬免费视频 | 日韩资源网| 美女久久| 亚洲女同女同女同女同女同69 | 欧美人与性动交α欧美片 | 18禁网站免费无遮挡无码中文 | 在线看欧美 | 精品人妻一区二区三区日产乱码卜 | 国产69xx| 国产伦精品一区二区三 | 91亚洲精品久久久蜜桃借种 | 国产欧美日韩高清 | 欧洲精品在线观看 | 黄色理论视频 | 99久久久国产精品免费蜜臀 | 99色国产| 日本美女a级片 |