国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Boot的HTTPS證書部署指南

Spring Boot的HTTPS證書部署指南

2022-03-07 22:5151CTO技術棧仇凱 Java教程

在本文中,我們將學習使用 Let’s Encrypt 工具為 Spring Boot 制作并自動更新 HTTPS 證書。

Spring Boot的HTTPS證書部署指南

作者丨Emad Heydari Beni

編譯丨仇凱

審校丨孫淑娟、梁策

在這篇文章中,我們將學習以下內容:

1.免費制作一個有效可用的證書

2.在 Spring Boot 應用中配置此證書

3.自動更新證書有效期

在之前的文章中,我們已經熟悉了如何通過自簽名證書配置 Spring Boot 應用。自簽名證書對于開發和測試來說是很好的方法。但是,如果想要將應用發布至生產環境,那么證書就需要由已知合法的證書頒發機構(Certificate Authorities,CA)簽署。這些證書通常價格不菲,如果想使用 TLS 保護應用,就需要購買此類證書。服務器價格和配置的復雜性成為許多 Web 應用程序使用 HTTPS 的阻礙。

在后斯諾登時代,通過 HTTPS 進行安全訪問已經是大眾的共識。為了提高開發人員和 IT 管理員的安全意識,并促使其全面使用 HTTPS 技術,我們付出了很多的努力。但是,應該如何去實現呢?

Let’s Encrypt 項目致力于將 HTTPS 技術通過免費且簡便的方式引入萬維網(World Wide Web)。

在此文中,我們將包含以下內容:

  • 簽發證書并在 Spring Boot 中部署

1.使用 Let’s Encrypt 生成證書

2.通過 PEM 證書制作 PCKS#12 證書

3.在 Spring Boot 應用中部署證書

  • 更新過期或者即將過期的證書

1.證書更新流程

2.Spring Boot 的準備工作

如何使用 Let’s Encrypt 生成證書

Let's Encrypt 為一些中間件(例如 Apache 和 Nginx)提供了幾個插件。在本節中,工作環境是(帶有嵌入式 Jetty 或 Tomcat 的)Spring Boot 應用程序, 我們只需要生成證書并部署在應用程序中。

如果你的服務器(或云服務商)有使用防火墻或其他安全機制,則需要開放 80 和 443 端口。

80 端口需要開放并自由使用,因為 Let’s Encrypt 需要通過自動化證書管理環境(即 ACME 協議)在后臺運行一個小型 HTTP 服務來證明你擁有此域名地址的控制權。

  • 你需要花費幾分鐘時間在域名地址指向的服務器上獲取 Let’s Encrypt 源代碼。
$ git clone https://github.com/certbot/certbot 
$ cd certbot
$ ./certbot-auto --help

備注: 需要預先安裝 Python(2.7.8 或以上)。

  • 在終端中執行以下命令,Let’s Encrypt 將會自動生成證書和私鑰。
$ ./certbot-auto certonly -a standalone \ -d seeld.eu -d www.seeld.eu

生成的證書保存在 /etc/letsencrypt/live/seeld.eu。

備注:‘certonly’代表此命令不附帶任何特殊插件(例如 Apache 或 Nginx)。‘standalone’代表 Let’s Encrypt 將使用 80 端口自動創建一個小型 Web 服務,以證明你擁有此域名地址的控制權。

如何通過 PEM 證書制作 PKCS12 證書

通過兩個步驟就能生成證書和私鑰,這足以證明 Let’s Encrypt 簡單易用。Let’s Encrypt 生成的證書是 PEM 格式,而 Spring Boot 并不支持 PEM 格式的證書。Spring Boot 支持 PKCS12 格式,因此我們需要使用 OpenSSL 工具,將 PEM 格式的證書和私鑰轉換為 PKCS12 格式。

以下操作可以將 PEM 證書轉換為 PKCS12 證書:

1.將目錄路徑切換至 /etc/letsencrypt/live/seeld.eu。

2.在終端中執行以下命令以通過 OpenSSL 工具將證書和私鑰轉換為 PKCS12 格式。

server.port: 8443 security.require-ssl=true server.ssl.key-store:/etc/letsencrypt/live/seeld.eu/keystore.p12 server.ssl.key-store-password: <your-password> server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat

文件名為‘keystore.p12’的 PKCS12 格式證書現在就被保存在‘/etc/letsencrypt/live/seeld.eu’目錄。

在 Spring Boot 應用中部署證書

我們將要在 Spring Boot 應用中配置證書和私鑰,并為全面部署 HTTPS 做好準備,以提升 Spring Boot 應用的安全性。此時,我們已經生成了證書和私鑰,并將其轉換為 PKCS12 格式,以便部署在 Spring 應用中。

1.打開‘application.properties’文件

2.將下面的配置內容添加至‘application.properties’文件中

server.port: 8443 security.require-ssl=true server.ssl.key-store:/etc/letsencrypt/live/seeld.eu/keystore.p12 server.ssl.key-store-password: <your-password> server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat

備注:‘require-ssl’代表服務器僅響應 HTTPS 請求。

如果你訪問 https://seeld.eu:8443,就會發現 HTTPS 服務已經部署成功并運行正常。為了使項目更加完善,我們通過額外配置,使 HTTPS 可以在端口 80 和 443 上生效。現在,你可以通過 https://seeld.eu 來訪問。

Spring Boot的HTTPS證書部署指南

證書更新

Let’s Encrypt 的證書有效期只有 90 天。有人可能會說,相較于其他證書提供商簽發的證書有效期,3 個月太短了。Let’s Encrypt 這個決定有兩個目的:降低密鑰泄露或錯誤發布造成的損害,以及鼓勵自動化。現在,讓我們開始配置證書自動更新。

  • 打開 Let's Encrypt 客戶端(certbot)所在目錄

備注:證書和密鑰存放在同一臺服務器上。(請閱讀所有章節的備注,例如安裝 Python,開放 80 端口等)

  • 執行下面的命令以開啟自動更新功能
$ sudo ./certbot-auto renew

該命令將檢查此服務器上(由 Let’s Encrypt 管理)證書的過期時間并在過期或即將過期時自動更新證書。

輕松獲取新的證書

正如前文所述:Spring Boot 并不支持(由 Let’s Encrypt 生成的)PEM 格式的證書。因此,我們需要通過 OpenSSL 將證書轉換為 Spring Boot 支持的 PKCS12 格式的證書。

Spring Boot 準備工作

讓我們創建 PKCS#12 密鑰。

1.將目錄路徑切換至 /etc/letsencrypt/live/seeld.eu。

2.在終端中執行以下命令以通過 OpenSSL 工具將證書和私鑰轉換為 PKCS12 格式。

$ openssl pkcs12 -export -in fullchain.pem \ -inkey privkey.pem \ -out keystore.p12 -name tomcat \ -CAfile chain.pem \ -caname root

文件名為‘keystore.p12’的 PKCS12 格式證書現在就被保存在‘/etc/letsencrypt/live/seeld.eu’目錄。

等等!

假設服務器運行的是 Spring Boot 應用,這意味著工作還沒有全部完成。過期或即將過期的‘keystore.p12’證書依然駐留在內存中,因此我們需要重啟 Spring Boot 應用才能使上述證書更新工作生效。

簡單重啟 Spring Boot 應用并不是萬無一失的。或許還有其他方法可以在不重啟 Spring Boot 應用的情況下對證書進行更新,但這并不在本文的討論范圍內。

總結

在本文中,我們學習了如何簽發、更新 Let’s Encrypt 證書,特別是將其部署在 Spring Boot 應用中。如果你確實沒有其他配置可以調整,那么不用 5 分鐘就可以完成上述所有操作。

由此看來,Let’s Encrypt 的證書簽發和續訂快速、簡單、成本低廉。無論需要管理多少 Web 服務,盡快使用 HTTPS 不失為上佳之選。

譯者介紹

仇凱,51CTO 社區編輯,目前就職于北京宅急送快運股份有限公司,職位為信息安全工程師。主要負責公司信息安全規劃和建設(等保,ISO27001),日常主要工作內容為安全方案制定和落地、內部安全審計和風險評估以及管理。

原文地址:https://mp.weixin.qq.com/s/Q-RHNA01ve2L34saopz9HQ

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产v日产∨综合v精品视频 | 中文字幕精品视频 | 久久精品无码一区二区三区 | 亚洲欧美视频二区 | 天天拍拍天天干 | 亚洲第一av | 天天爽夜夜爽夜夜爽精品视频 | 一大道一二三区不卡 | 999精品视频 | 国产精品99久久久久久动医院 | 国产精品久久久久久久午夜 | 亚洲一区二区国产 | 天天精品| 一区二区三区视频在线观看 | 激情综合欧美 | 亚洲国产一区在线 | av在线电影网 | 午夜av免费 | 欧洲精品码一区二区三区免费看 | 亚洲色图在线播放 | 欧美亚洲视频在线观看 | 91激情视频 | 欧美不卡| 羞羞影视| 中国大陆高清aⅴ毛片 | 国产美女在线播放 | 国产成人精品午夜视频' | 久久中文视频 | 久久99精品久久久久久园产越南 | 毛片一级网站 | 国产毛片毛片 | 这里只有精品在线 | 亚洲成人av免费观看 | 羞羞羞网站 | 免费午夜电影 | 日韩视频免费在线播放 | 久久天天躁狠狠躁夜夜免费观看 | 国产成人精品一区二区在线 | 一二三四区视频在线观看 | 色乱码一区二区三区网站 | 天天插天天狠 |