如何使用Docker生成SSL證書

檸檬沒成精發表於2023-01-16

  使用Docker生成SSL證書(anxinssl.com)大多數開發人員並沒有想這麼做過。但是這麼做很簡潔也很方便。你可能會問為什麼會想用Docker容器來為主機生成SSL證書呢。為什麼不能在主機上完成呢?

  

  是的,可以在主機上完成。但是你必須已經在主機上安裝了正確的工具(比如OpenSSL)。並且如果你想讓Docker伺服器儘可能簡潔的話,你很可能不想安裝類似OpenSSl這樣的工具。另外,你可能並不是使用的生產環境Docker伺服器,而是使用的Docker測試環境。如果你和我一樣,那麼這個測試環境實際上就是你的個人筆記本,很可能沒有安裝OpenSSL或者其他伺服器工具。

  

  不在主機上生成證書,而是使用Docker容器生成SSL證書,這對我來說很好。也很簡單,按照如下步驟即可。

  

  首先,使用Docker Hub Nginx映象拉取一個支援SSL證書建立的容器映象。該映象已經內建安裝了OpenSSL。

  

  示例令:

  

  docker pull nginx

  

  接下來,需要建立私鑰和證書籤署請求:

  

  docker run -v $PWD:/work -it nginx openssl req -out /work/CSR.csr -new

  

  -newkey rsa:2048 -nodes -keyout /work/privateKey.key

  

  現在可以看到主機上的working目錄包含檔案privateKey.key和CSR.csr。如果想要使用它們建立自簽名的證書,執行如下命令:

  

  docker run -v $PWD:/work -it nginx openssl req -x509 -sha256 -nodes

  

  -days 365 -newkey rsa:2048 -keyout privateKey.key -out

  

  /work/certificate.crt

  

  現在主機的working目錄已經有了簽名的證書, certificate.crt。好了,我們已經使用OpenSSL建立出了SSL證書,而實際上並沒有在主機系統上執行OpenSSL。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69933154/viewspace-2932287/,如需轉載,請註明出處,否則將追究法律責任。

相關文章