成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在 Ubuntu 20.04 上使用 Let's Encrypt 保護 Nginx

系統 Linux
在本教程中,您將使用 Certbot 在 Ubuntu 20.04 上為 Nginx 獲取免費的 SSL 證書,并將您的證書設置為自動續訂。

介紹

Let's Encrypt 是一個證書頒發機構 (CA),它提供了一種簡單的方法來獲取和安裝免費的TLS/SSL 證書,從而在 Web 服務器上啟用加密的 HTTPS。它通過提供軟件客戶端 Certbot 來簡化流程,該客戶端嘗試自動執行大部分(如果不是全部)所需步驟。目前,獲取和安裝證書的整個過程在 Apache 和 Nginx 上都是完全自動化的。

在本教程中,您將使用 Certbot 在 Ubuntu 20.04 上為 Nginx 獲取免費的 SSL 證書,并將您的證書設置為自動續訂。

本教程將使用單獨的 Nginx 服務器配置文件而不是默認文件。我們建議為每個域創建新的 Nginx 服務器塊文件,因為它有助于避免常見錯誤并維護默認文件作為后備配置。

[[441191]]

先決條件

要學習本教程,您需要:

  •  設置一個 Ubuntu 20.04 服務器,包括啟用 sudo 的非root用戶和防火墻。
  •  一個注冊的域名。本教程將example.com貫穿始終。
  •  為您的服務器設置的以下兩個 DNS 記錄。
  •      example.com指向您服務器的公共 IP 地址的 A 記錄。
  •      指向您服務器的公共 IP 地址的 A 記錄。www.example.com
  •  按照如何在 Ubuntu 20.04 上安裝 Nginx 安裝 Nginx。確保您的域有一個服務器塊。本教程將用作示例。/etc/nginx/sites-available/example.com

步驟 1 - 安裝 Certbot

使用 Let's Encrypt 獲取 SSL 證書的第一步是在您的服務器上安裝 Certbot 軟件。

安裝 Certbot 和它的 Nginx 插件apt:

  • sudo apt install certbot python3-certbot-nginx

Certbot 現在可以使用了,但是為了讓它自動為 Nginx 配置 SSL,我們需要驗證 Nginx 的一些配置。

步驟 2 — 確認 Nginx 的配置

Certbot 需要能夠server在您的 Nginx 配置中找到正確的塊才能自動配置 SSL。具體來說,它通過查找server_name與您為其申請證書的域匹配的指令來實現這一點。

如果您按照Nginx 安裝教程中的服務器塊設置步驟進行操作,則您的域中應該有一個服務器塊,并且已正確設置了指令。/etc/nginx/sites-available/example.comserver_name

要檢查,請使用nano或您喜歡的文本編輯器打開您的域的配置文件:

  •  sudo nano /etc/nginx/sites-available/example.com

找到現有的server_name行。它應該是這樣的:

/etc/nginx/sites-available/example.com 

  1. ...  
  2. server_name example.com www.example.com;  
  3. ... 

如果是,請退出編輯器并繼續下一步。

如果不是,請更新它以匹配。然后保存文件,退出編輯器,并驗證配置編輯的語法:

  •  sudo nginx -t

如果出現錯誤,請重新打開服務器塊文件并檢查是否有任何拼寫錯誤或缺失字符。配置文件的語法正確后,重新加載 Nginx 以加載新配置:

  • sudo systemctl reload nginx

Certbot 現在可以找到正確的server塊并自動更新它。

接下來,讓我們更新防火墻以允許 HTTPS 流量。

步驟 3 — 允許 HTTPS 通過防火墻

如果您ufw按照先決條件指南的建議啟用了防火墻,則需要調整設置以允許 HTTPS 流量。幸運的是,Nginxufw在安裝時注冊了一些配置文件。

您可以通過鍵入以下內容查看當前設置:

  •  sudo ufw status

它可能看起來像這樣,這意味著 Web 服務器只允許 HTTP 流量: 

  1. Status: active  
  2. To                         Action      From  
  3. --                         ------      ----  
  4. OpenSSH                    ALLOW       Anywhere                  
  5. Nginx HTTP                 ALLOW       Anywhere                
  6. OpenSSH (v6)               ALLOW       Anywhere (v6)          
  7. Nginx HTTP (v6)            ALLOW       Anywhere (v6)  

要額外允許 HTTPS 流量,請允許 Nginx 完整配置文件并刪除冗余的 Nginx HTTP 配置文件限額:

  •  sudo ufw allow 'Nginx Full'
  •  sudo ufw delete allow 'Nginx HTTP'

您現在的狀態應如下所示:

  •  sudo ufw status 
  1. Status: active  
  2. To                         Action      From  
  3. --                         ------      ----  
  4. OpenSSH                    ALLOW       Anywhere  
  5. Nginx Full                 ALLOW       Anywhere  
  6. OpenSSH (v6)               ALLOW       Anywhere (v6)  
  7. Nginx Full (v6)            ALLOW       Anywhere (v6) 

接下來,讓我們運行 Certbot 并獲取我們的證書。

步驟 4 - 獲取 SSL 證書

Certbot 提供了多種通過插件獲取 SSL 證書的方式。Nginx 插件將負責重新配置 Nginx 并在必要時重新加載配置。要使用此插件,請鍵入以下內容:

  •  sudo certbot --nginx -d example.com -d www.example.com

這certbot與--nginx插件一起運行,-d用于指定我們希望證書有效的域名。

如果這是您第一次運行certbot,系統會提示您輸入電子郵件地址并同意服務條款。執行此操作后,certbot將與 Let's Encrypt 服務器通信,然后運行質詢以驗證您是否控制要為其申請證書的域。

如果成功,certbot將詢問您希望如何配置 HTTPS 設置。 

  1. Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.  
  2. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  3. 1: No redirect - Make no further changes to the webserver configuration.  
  4. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for  
  5. new sites, or if you're confident your site works on HTTPS. You can undo this  
  6. change by editing your web server's configuration.  
  7. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  8. Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 

選擇您的選擇,然后點擊ENTER。配置將被更新,Nginx 將重新加載以獲取新設置。certbot將以一條消息結束,告訴您該過程已成功以及您的證書的存儲位置: 

  1. IMPORTANT NOTES:  
  2.  - Congratulations! Your certificate and chain have been saved at:  
  3.    /etc/letsencrypt/live/example.com/fullchain.pem  
  4.    Your key file has been saved at:  
  5.    /etc/letsencrypt/live/example.com/privkey.pem  
  6.    Your cert will expire on 2020-08-18. To obtain a new or tweaked  
  7.    version of this certificate in the future, simply run certbot again  
  8.    with the "certonly" option. To non-interactively renew *all* of  
  9.    your certificates, run "certbot renew"  
  10.  - If you like Certbot, please consider supporting our work by:  
  11.    Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate  
  12.    Donating to EFF:                    https://eff.org/donate-le 

您的證書已下載、安裝和加載。嘗試使用重新加載您的網站https://并注意瀏覽器的安全指示器。它應該表明該站點已得到適當保護,通常帶有鎖定圖標。如果您使用SSL Labs Server Test測試您的服務器,它將獲得A級。

讓我們通過測試更新過程來結束。

步驟 5 - 驗證 Certbot 自動續訂

Let's Encrypt 的證書有效期只有九十天。這是為了鼓勵用戶自動化他們的證書更新過程。certbot我們安裝的軟件包通過添加一個每天運行兩次的 systemd 計時器來為我們處理這個問題,并自動更新任何在到期后三十天內的證書。

您可以使用以下命令查詢計時器的狀態systemctl:

  •  sudo systemctl status certbot.timer 
  1. ● certbot.timer - Run certbot twice daily 
  2.      Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)  
  3.      Active: active (waiting) since Mon 2020-05-04 20:04:36 UTC; 2 weeks 1 days ago  
  4.     Trigger: Thu 2020-05-21 05:22:32 UTC; 9h left  
  5.    Triggers: ● certbot.service 

要測試更新過程,您可以使用以下命令進行試運行certbot:

  •   sudo certbot renew --dry-run

如果您沒有看到任何錯誤,則說明一切就緒。必要時,Certbot 將更新您的證書并重新加載 Nginx 以獲取更改。如果自動續訂過程失敗,Let's Encrypt 將向您指定的電子郵件發送一條消息,在您的證書即將到期時向您發出警告。

結論

在本教程中,您安裝了 Let's Encrypt 客戶端certbot,為您的域下載了 SSL 證書,將 Nginx 配置為使用這些證書,并設置了自動證書續訂。如果您對 Certbot的使用還有其他疑問,可以從官方文檔開始。 

 

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2021-12-15 11:46:46

HTTP2Nginx

2022-05-29 17:37:39

LinuxUbuntuPHP

2018-04-08 09:00:00

Let's Encry加密解密

2020-07-14 20:25:46

UbuntuLinux桌面應用

2020-08-14 07:00:00

RudderIT工具

2022-03-17 14:56:26

KubernetesMinikubeLinux

2021-09-18 08:00:00

Python系統開發

2023-05-27 16:27:25

2022-09-01 08:37:50

Ubuntu發行版

2020-10-17 13:04:35

UbuntuDeepin桌面環境

2015-12-31 10:35:53

HTTPS 證書HTTPS網絡協議

2021-12-16 16:50:47

NginxSSLLinux

2016-11-03 20:06:53

UbuntuGrafanaDocker

2016-01-15 09:56:44

LinuxUbuntuGlances

2017-08-03 10:36:08

UbuntuCertbotNGINX

2021-07-20 08:00:00

集群Elasticsear工具

2018-02-25 09:48:36

LinuxUbuntu文件系統

2019-09-11 14:30:45

UbuntuLinuxR語言

2018-02-25 11:03:00

LinuxUbuntuEncryptpad

2020-10-22 09:36:32

Ubuntu同步文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美在线a | 国产日韩一区二区三免费高清 | www操操 | 欧美一区二区三区电影 | 国产精品免费一区二区三区四区 | 精品欧美乱码久久久久久 | 亚洲精品美女在线观看 | 亚洲精品成人在线 | 亚洲国产午夜 | 日韩不卡一二区 | 亚洲精品久久区二区三区蜜桃臀 | 国产精品久久久久久久久久免费 | 欧美精品在线免费 | 日韩高清在线 | 日韩av视屏| 久久i | 国产欧美一区二区三区久久 | 日韩中文字幕视频 | 国产区精品 | 久久久久久91 | 一级a性色生活片久久毛片波多野 | 国产精品成人免费 | 国产亚洲二区 | 久久亚洲欧美日韩精品专区 | 久久久高清| 99精彩视频| 亚洲欧洲视频 | 欧洲精品视频一区 | 欧美午夜精品久久久久免费视 | 亚洲成人自拍 | 中文字幕一区二区三区乱码图片 | 日韩爱爱网站 | 日韩精品无码一区二区三区 | 仙人掌旅馆在线观看 | 国产98在线 | 免费, | 毛片在线免费 | 日本理论片好看理论片 | 精品国产欧美一区二区三区成人 | 国产1区在线 | av一级久久 | 一级a性色生活片久久毛片 午夜精品在线观看 |