【Nginx】如何实现HTTPS自签证书配置
以下是Nginx HTTPS自签证书配置的详细步骤:
- 安装OpenSSL。如果您的系统中没有安装OpenSSL,请使用以下命令安装:
sudo apt-get install openssl
- 生成私钥。使用以下命令生成2048位的RSA私钥:
sudo openssl genrsa -out /etc/nginx/ssl/server.key 2048
这将生成一个名为server.key的私钥文件,该文件将保存在/etc/nginx/ssl/目录中。
- 创建证书签名请求(CSR)。使用以下命令生成证书签名请求:
sudo openssl req -new -key /etc/nginx/ssl/server.key -out /etc/nginx/ssl/server.csr
在生成证书签名请求期间,您需要提供一些信息,例如国家/地区、州/省、城市、组织名称和通用名称(即您的域名)。请注意,在生成自签名证书时,您无需提供证书颁发机构的信息。
- 自签名证书。使用以下命令生成自签名证书:
sudo openssl x509 -req -days 365 -in /etc/nginx/ssl/server.csr -signkey /etc/nginx/ssl/server.key -out /etc/nginx/ssl/server.crt
在此命令中,-days指令指定证书有效期(此示例中为365天)。-in指令指定您之前生成的证书签名请求,-signkey指令指定您之前生成的私钥文件,-out指令指定自签名证书的输出文件名。
- 配置Nginx以使用自签名证书。打开您的Nginx配置文件,一般在/etc/nginx/nginx.conf文件中。在文件中找到http块并添加以下代码:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
location / {
...
}
}
请注意,上述示例配置文件假设您已经生成了自签名证书并将其放在了/etc/nginx/ssl/目录中。将ssl_certificate指令和ssl_certificate_key指令分别指定自签名证书和私钥的路径。
- 测试配置并重启Nginx。使用以下命令检查您的Nginx配置是否存在语法错误:
sudo nginx -t
- 如果没有错误,则重新启动Nginx:
sudo systemctl restart nginx
完成。目前,您的Nginx服务器已配置为使用自签名证书进行HTTPS连接。但请注意,由于您的证书未由受信任的证书颁发机构颁发,因此您的浏览器可能会警告您的连接不安全。如果您想要避免这种情况,请购买或获取来自受信任的证书颁发机构的SSL证书。
© 版权声明
文章版权归作者所有,未经允许请勿转载。






收藏了,感谢分享