# 三步生成研测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 配置指令
}