Nginx生成自定义证书

1、创建存放证书的目录,此目录可自定义

cd /etc/nginx
mkdir key
cd key

2、执行命令生成一个key

openssl genrsa -des3-out ssl.key 4096

在这里插入图片描述
然后会要求你输入这个key文件密码。这里不推荐输入。因为以后要给nginx使用。每次reload nginx配置的时候都要你验证这个PAM密码。
由于生成时候必须输入密码,你可以输入后在删掉。

mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key

3、根据这个key文件生成证书请求文件

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

在这里插入图片描述

4、最后根据这2个文件(ssl.key ssl.csr)生成crt证书文件

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

在这里插入图片描述
这里365是证书有效期,推荐3650。这个大家随意。最后使用到的文件是key和crt文件。

5、在需要使用证书的nginx配置文件的server节点里加入一下配置就可以了。

server {
  listen 443;#https默认使用433端口
  server_name 0.0.0.0;#将0.0.0.0替代为你的网站域名或ip

  ssl on;
  ssl_certificate /etc/nginx/key/ssl.crt;
  ssl_certificate_key /etc/nginx/key/ssl.key;
  ssl_session_timeout 5m;
  ssl_protocols SSLv2 SSLv3 TLSv1;
  ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
  ssl_prefer_server_ciphers on;
  location / {
    ...
    }

在这里插入图片描述

在这里插入图片描述
由于本人在这中间卡了好久,最后知道是没装ssl模块
在这里插入图片描述
解压完编译执行

make

然后就将刚编译好的放进原有的nginx里面

cp ./objs/nginx /usr/local/nginx/sbin

接下来就可以正常启动了

6、重启nginx就大功告成了

在这里插入图片描述
重启后我们可以来到浏览器上,输入填的域名访问。如下(用了两种浏览器测试):
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要使用 OpenSSL 生成一个自定义SSL 证书,你可以按照以下步骤进行: 1. 安装 OpenSSL 工具: 如果你使用的是 Linux 或 macOS,可以使用系统的包管理器来安装 OpenSSL。如果你使用的是 Windows,则可以从 OpenSSL 的官方网站上下载 Windows 版本的 OpenSSL 工具。 2. 生成 SSL 私钥: 使用以下命令生成一个 SSL 私钥文件(例如,server.key): ``` openssl genrsa -out server.key 2048 ``` 这将生成一个 2048 位的 RSA 密钥对,其中 server.key 是私钥文件的名称。请注意,这个私钥文件应该只能被服务器使用,因此请妥善保管它。 3. 生成证书签名请求(CSR): 使用以下命令生成一个 CSR 文件(例如,server.csr): ``` openssl req -new -key server.key -out server.csr ``` 这将提示你输入一些有关证书的信息,例如国家/地区、州/省、城市、组织和 Common Name(通用名称)。请务必确保在 Common Name 中输入与你要使用该证书的域名完全一致的名称。 4. 生成自签名证书: 使用以下命令生成一个自签名证书文件(例如,server.crt): ``` openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt ``` 这将使用 CSR 文件和私钥文件生成一个有效期为 365 天的自签名证书文件。请注意,这种自签名证书只适用于测试或开发环境,因为它没有受信任的根证书机构签名。 5. 配置 NGINX: 将生成的 server.key 和 server.crt 文件复制到你要使用 SSLNGINX 服务器上,并将以下内容添加到 NGINX 的配置文件中: ``` server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/server.crt; ssl_certificate_key /path/to/server.key; # Other SSL configuration options... } ``` 这将配置 NGINX 使用你生成SSL 证书来加密 HTTPS 流量。 注意:以上命令中的示例文件名仅供参考。在实际使用时,你应该为文件选择一个具有描述性的名称,并将路径和文件名替换为你实际使用的值。 ### 回答2: 要使用OpenSSL生成NGINX SSL自定义证书,可以按照以下步骤进行操作: 1. 安装OpenSSL:首先,确保计算机上已经安装了OpenSSL,如果没有安装,可以从OpenSSL官方网站下载并安装适合您操作系统的版本。 2. 创建私钥:使用以下命令生成一个私钥文件: `openssl genrsa -out private.key 2048` 这将创建一个2048位的RSA私钥,并将其保存在名为private.key的文件中。 3. 创建证书签名请求(CSR):使用以下命令生成一个CSR文件: `openssl req -new -sha256 -key private.key -out csr.csr` 这将生成一个证书签名请求文件csr.csr。在生成过程中,您需要提供一些关于您的域名和组织的信息。 4. 生成证书:在生成CSR文件后,您可以使用以下命令生成自定义证书: `openssl x509 -req -in csr.csr -signkey private.key -out certificate.crt -days 365` 这将使用私钥和CSR文件生成一个有效期为365天的证书文件certificate.crt。 5. 配置NGINX:将生成的私钥和证书文件复制到NGINXSSL配置目录中,并在NGINX配置文件中指定这些文件的路径和名称。 6. 重启NGINX:保存并关闭NGINX配置文件后,使用以下命令重启NGINX服务器以使更改生效: `nginx -s reload` 完成上述步骤后,您将成功生成并安装了自定义NGINX SSL证书。这将使您的网站能够通过HTTPS进行安全的加密通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

流年ꦿ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值