部署支持 https 的 Nginx 服務

来源:https://www.cnblogs.com/chr-wonder/archive/2018/08/30/9559501.html
-Advertisement-
Play Games

通過 Certbot 為 nginx 開啟https支持。 環境 CentOS 7.1 python2.x(這玩意系統里本來就有) 安裝Nginx 順手啟動: 順手設置開機啟動: 嗯,就完成了。 至於配置文件,會在後面設置。 配置https 此處我們使用 Let's Encrypt 提供的證書。且為 ...


通過 Certbot 為 nginx 開啟https支持。

環境

  • CentOS 7.1
  • python2.x(這玩意系統里本來就有)

安裝Nginx

sudo yum install nginx -y

順手啟動:

sudo systemctl start nginx

順手設置開機啟動:

sudo systemctl enable nginx

嗯,就完成了。 至於配置文件,會在後面設置。

配置https

此處我們使用 Let's Encrypt 提供的證書。且為了方便設置,使用 Certbot 配置工具。

工具獲得

證書機構: Let's Encrypt - https://letsencrypt.org
配置工具: Certbot - https://certbot.eff.org/

事實上,你根本用不到上面兩個鏈接,我把它們寫在這隻是為了方便瞭解其他細節,順便表示尊重。

實際上我們可以直接通過包管理器獲取 Certbot 工具。

首先需要安裝 EPEL 源:

sudo yum install epel-release -y

然後安裝 Certbot :

sudo yum install python2-certbot-nginx -y

工具安裝完成。

使用 Certbot

Certbot 使用命令行中的互動式配置,我們啟動它,然後跟著指示一步一步完成就行。

一、 啟動 Certbot

通過命令:

sudo certbot --nginx

二、 填寫郵箱

在下述提示後,填寫你的郵箱地址。

Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected]

輸入你的郵箱地址,回車確定。

三、 同意用戶協議

下述提示提醒你閱讀並同意用戶協議之類的。

Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf.
You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

輸入字母 A 回車確定。

四、 請求分享你的郵箱

意思是他們會沒事給你發發廣告郵件。同意就是了 ╮(╯▽╰)╭

Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

輸入字母 Y 回車確定。

五、 指定功能變數名稱

由於我們在安裝nginx後沒有配置站點,所以此處要求我們提供功能變數名稱,配置工具會幫我們填寫nginx的配置文件。

No names were found in your configuration files. Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c' to cancel): www.xxxx.com xxx.xxxx.com

輸入你自己的功能變數名稱(多個功能變數名稱中間用空格隔開)回車確定。

六、 重定向

會詢問你是不是要把所有http請求重定向到https。當然要了~

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

輸入數字 2 回車確定。

七、 完成

此時配置已經完成。你可以在接下來的輸出中找到如下段落:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://www.xxxx.com and https://xxx.xxxx.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=www.xxxx.com
https://www.ssllabs.com/ssltest/analyze.html?d=xxx.xxxx.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

意思就是你已經成功配置了 www.xxxx.com xxx.xxxx.com 兩個功能變數名稱(就是在 步驟五 輸入的那兩個,當然,你輸入了多少個這裡就會顯示多少個)。
並且你可以在 https://www.ssllabs.com/ 這個網站上測試功能變數名稱的狀態。

八、 證書過期

由於 Let's Encrypt 的免費證書有效期是90天,所以你需要每80幾天重新申請一次。

Certbot 可以通過簡單的命令完成這個工作:

certbot renew

如果你還是覺得麻煩,可以把這個操作設為定時任務,每80幾天運行一次,就可以高枕無憂了。

其他

支持https的nginx已經完全配置完成。接下來把你的站點放在nginx的目錄下就行,一般是 /usr/share/nginx/html 如果不是這裡,你可以在nginx的配置文件里找到,配置文件位於 /etc/nginx/nginx.conf

在瀏覽器中打開站點,就能看到地址欄上的小綠鎖了~


原文發佈於 https://blog.moonlightwatch.me/linux/2018/08/30/nginx-https/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 常用的Shell命令 當用戶登錄到字元界面系統或使用終端模擬視窗時,就是在和稱為shell的命令解釋程式進行通信。當用戶在鍵盤上輸入一條命令時,shell程式將對命令進行解釋並完成相應的動作。這種動作可能是執行用戶的應用程式,或者是調用一個編輯器、GNU/Linux實用程式或其他標準程式,或者是一條 ...
  • 一、實驗目的 1、熟悉操作系統的系統功能調用。 2、掌握用C語言實現系統功能調用的方法和步驟。 3、掌握利用10H號功能調用(BIOS的顯示I/O功能調用)來實現對屏幕的操作與控制。 二、實驗內容 1、在屏幕的指定區域內顯示字元串。(必做題) 2、在屏幕的制定區域內畫框,在框內顯示字元串。(提高題) ...
  • cat命令連接文件並列印到標準輸出設備上。 註意:當文件較大時,文本在屏幕上迅速閃過(滾屏),用戶往往看不清所顯示的內容。因此,一般用more等命令分屏顯示。為了控制滾屏,可以按Ctrl+S鍵,停止滾屏;按Ctrl+Q鍵可以恢復滾屏。按Ctrl+C(中斷)鍵可以終止該命令的執行,並且返回Shell提 ...
  • 和某些應用軟體衝突時,需要將上述補丁卸載。 ...
  • 追加用戶組 追加新用戶 更改用戶 添加用戶到其他組 修改用戶密碼 刪除用戶 給用戶增加sudo許可權 切換超級用戶 添加sudo許可權 預設的sudoers文件是沒有寫入許可權的,需要增加許可權 修改sudoers文件 找到下麵root的代碼處 在之後追加以下代碼,保存退出 更改目錄和文件的訪問許可權 更改目 ...
  • 1、說明 所謂的PXE是Preboot Execution Environment的縮寫,字面上的意思是開機前的執行環境。 要實現pxe,至少需要3個服務 2、流程 註意:全部用的udp封裝 1)client向pxe server上的dhcp發送IP地址請求消息,dhcp檢測client是否合法,同 ...
  • 使用ntsd程式 (如果安裝過VS,在VS的安裝目錄下,比如“C:\Program Files (x86)\Debugging Tools for Windows (x86)\ntsd.exe”,也可以在這裡下載) 兩種方法 一種是使用進程的ID號,將PID換成對應進程ID號即可 一種是使用進程的名 ...
  • Linux日誌查找方法 適用於測試,開發,運維人員,用來查找Linux伺服器問題的一般方法,比較實用,如果有更好的辦法可以一塊討論,歡迎大神們來指導哈!!! 進入正題 第一步、通過Xshell登錄伺服器 鏈接方法—找度娘、開發同事#最好是自己找度娘,自給自足豐衣足食嘛賬號、密碼—找技術老大 第二步、 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...