互联网技术 / 互联网资讯 · 2024年1月13日

Docker教程:使用Docker配置Nginx服务

生成站点证书

为您的站点生成根 CA 和 tls 证书和密钥。对于生产站点,您可能希望使用诸如Let&Rsquo;s EncRypt生成 tls 证书和密钥之类的服务,但此示例使用命令行工具。这一步有点复杂,但只是一个设置步骤,以便您可以将某些内容存储为 DockeR 机密。如果你想跳过这些子步骤,你可以使用 Let””s EncRypt生成站点密钥和证书,命名文件site.key和 site.cRt,然后跳到 配置 Nginx 容器。

1.生成根密钥。

$ openSSl genRsa -out “Root-ca.key” 4096

2.使用根密钥生成 CSR。

$ openSSl Req

-new -key “Root-ca.key”

-out “Root-ca.csR” -sha256

-subj ””/C=US/ST=CA/L=San FRancisco/O=DockeR/CN=SwaRM SecRet example CA””

3.配置根 CA。编辑一个名为的新文件Root-ca.cnf并将以下内容粘贴到其中。这限制了根 CA 只签署叶证书而不是中间 CA。

[Root_ca]

basiCCOnstRAInts = cRITical,CA:TRUE,pathlen:1

keyUSAge = cRITical, nonRepudiation, cRLSign, keyCeRtSign

subjectKeyIdentifieR=hash

4.签署证书。

$ openSSl x509 -Req -daYs 3650 -in “Root-ca.csR”

-signkey “Root-ca.key” -sha256 -out “Root-ca.cRt”

-extfile “Root-ca.cnf” -extensions

Root_ca

5.生成站点密钥。

$ openSSl genRsa -out “site.key” 4096

6.生成站点证书并使用站点密钥对其进行签名。

$ openSSl Req -new -key “site.key” -out “site.csR” -sha256

-subj ””/C=US/ST=CA/L=San FRancisco/O=DockeR/CN=localhost””

7.配置站点证书。编辑一个名为的新文件site.cnf并将以下内容粘贴到其中。这限制了站点证书,使其只能用于对服务器进行身份验证,而不能用于签署证书。

[seRveR]

authoRITyKeyIdentifieR=keyid,iSSueR

basiCCOnstRAInts = cRITical,CA:FALSE

extendedKeyUSAge=seRveRAuth

keyUSAge = cRITical, diGitalSignatuRe, keyEncIPheRMent

subjectAltNaMe = DNS:localhost, IP:127.0.0.1

subjectKeyIdentifieR=hash

8.签署站点证书。

$ openSSl x509 -Req -daYs 750 -in “site.csR” -sha256

-CA “Root-ca.cRt” -CAkey “Root-ca.key” -CAcReateseRial

-out “site.cRt” -extfile “site.cnf” -extensions seRveR

9.在site.csR和site.cnf文件不需要由Nginx的服务,但你需要他们,如果你想生成一个新的站点证书。保护Root-ca.key文件。

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册