Nginx 配置SSL,开放https协议和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。

    server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      /usr/local/tengine/server.crt;
        ssl_certificate_key  /usr/local/tengine/server.key;
    }

六、访问测试

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

        https://nginx-ip

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

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QIFU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值