当前位置:   article > 正文

Nginx 配置SSL,开放https协议和443端口_nginx 443

nginx 443

目录

一、准备工作

二、生成私钥(key)

三、生成证书签名请求/公钥(csr)

四、生成证书(crt)

五、给nginx配证书

六、访问测试


阅读本文前您需要学会如何安装Nginx, 如果您还不会安装Nginx请参考CentOS7安装Nginx,或者直接关注本栏目Nginx

一、准备工作

        如果是在Windows下,请先安装OpenSSL

        官网地址:https://slproweb.com/products/Win32OpenSSL.html

二、生成私钥(key)

        第一步是生成私钥(key),以下命令用于生成一个包含 1024 比特长度的 RSA 密钥的私钥文件。生成的私钥存储在 server.key 文件中。

        Linux下命令为

openssl  genrsa -des3 -out server.key 1024

        Windows下命令为

openssl.exe genrsa -des3 -out d:/linux/server.key 1024


        命令参数解释:

        genrsa: 是 OpenSSL 命令的子命令,用于生成 RSA 密钥对。

        -des3: 指定了使用 Triple DES 算法对生成的私钥进行加密。这样生成的私钥将会被一个密码保护。

        -out server.key: 指定生成的私钥文件的输出路径和文件名为 server.key。

        1024: 指定生成的 RSA 密钥的长度为 1024 比特。

三、生成证书签名请求/公钥(csr)

        第二步是用使用已有的私钥 (server.key) 生成证书签名请求 /公钥(CSR),该 CSR 包含了对应私钥的公钥和与该公钥关联的其他信息,用于申请数字证书。

        Linux下命令为

openssl req -new -key server.key -out server.csr

        Windows下命令为

openssl.exe req -new -key d:/linux/server.key -out d:/linux/server.csr

       命令参数解释:

        req: 这是 OpenSSL 命令的子命令,用于处理证书请求。

        -new: 指定生成一个新的证书请求。

        -key server.key: 指定使用 server.key 中的私钥来生成 CSR

        -out server.csr: 指定生成的证书签名请求 (CSR) 文件的输出路径和文件名为 server.csr。

        在生成公钥的过程中需要填写的信息如下:

        生成成功后可以使用以下命令查看公钥信息:

openssl.exe req -text -in d:/linux/server.csr

四、生成证书(crt)

        第三步是对签名请求(公钥CSR)进行签名生成证书。如果上线产品这个时候应该提交资料到受信任的证书颁发机构 (CA) ,提交 CSR 以获得由 CA 签名的证书。这里为了演示我们创建一个自签名的服务器证书来测试。以下自签名(Self-Signed) X.509 数字证书的命令。

        Linux下命令为

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

        Windows下命令为

openssl.exe x509 -req -days 365 -in d:/linux/server.csr -signkey d:/linux/server.key -out d:/linux/server.crt

        命令参数解释:

        x509: 这是 OpenSSL 命令的子命令,用于操作 X.509 数字证书。

        -req: 表示输入的文件是一个证书签名请求 (CSR)。

        -days 365: 指定证书的有效期为 365 天(1年)。

        -in server.csr: 指定输入的证书签名请求文件为 server.csr。

        -signkey server.key: 指定用于签名证书的私钥文件为 server.key。

        -out server.crt: 指定生成的自签名证书文件的输出路径和文件名为 server.crt。

这个命令的作用是使用私钥 (server.key) 对证书签名请求 (CSR) 进行签名,生成一个自签名的 X.509 数字证书 (server.crt)。这样就得到了一个可以用于安全通信的服务器证书,该证书在签发后的 365 天内有效。

五、给nginx配证书

        第四步是在nginx的服务配置 nginx.conf的虚拟主机(server)的SSL信息。监听443端口,并指定自签名证书server.crt和自己的私钥server.key。

  1. server {
  2. listen 443 ssl;
  3. server_name localhost;
  4. ssl_certificate /usr/local/tengine/server.crt;
  5. ssl_certificate_key /usr/local/tengine/server.key;
  6. }

六、访问测试

        配置完成后就可以在浏览顺输入HTTPS地址进行访问了。

        https://nginx-ip

        注意nginx-ip是指你nginx服务器的IP地址。

        由于我们使用的自签名证书,测试时浏览器可能会阻止,您需要手动允许,如下图。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/591491
推荐阅读
相关标签
  

闽ICP备14008679号