# 三步生成研测https证书

# 问题

今天在研测环境中配置nginx代理一个http服务,在纠结要不要配置https(因为每次配置https都感觉挺麻烦),突然发现可以借助chatgpt偷个懒,所以就有了这篇chatgpt生产的文章😁。今天的问题是如何快速让研测环境支持https?

# 解答

# 前提条件

需要服务器先安装OpenSSL。以ubuntu为例:

$ sudo apt update
$ sudo apt install openssl

# 生成步骤

# 生成私钥(key)文件

运行以下命令生成私钥文件:

$ openssl genrsa -out private.key 2048

这将生成一个 2048 位的 RSA 私钥,并将其保存为 private.key 文件。

# 生成证书签名请求(CSR)文件

运行以下命令生成 CSR 文件,其中 your-domain 是您的域名

$ openssl req -new -key private.key -out csr.pem -subj "/CN=<your-domain>"

这将生成一个包含您的域名信息的 CSR 文件,并将其保存为 csr.pem 文件。

# 自签名证书(可选)

如果您只是在测试环境中使用证书,或者只需要自签名证书,您可以生成自签名证书:

$ openssl x509 -req -in csr.pem -signkey private.key -out certificate.crt -days 365

这将使用 CSR 文件和私钥文件生成一个有效期为 365 天的自签名证书,并将其保存为 certificate.crt 文件。

# 配置到nginx

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/nginx/certificates/certificate.crt;
    ssl_certificate_key /etc/nginx/certificates/private.key;

    # 其他的 Nginx 配置指令
}