在 Ubuntu 20.04 中,使用 OpenSSL 创建自签名 SSL 证书,然后将其配置到 Nginx。
1. 安装 OpenSSL:
``` sudo apt-get update sudo apt-get install openssl ```2. 生成私钥和 CSR(证书签名请求):
``` sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.csr ```按照提示输入相关信息,如国家、省份、城市等。
3. 生成自签名 SSL 证书:
``` sudo openssl x509 -req -days 365 -in /etc/nginx/ssl/nginx.csr -signkey /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt ```这将生成一个有效期为 365 天的自签名 SSL 证书。
4. 配置 Nginx 以使用自签名 SSL 证书:
``` listen 443 ssl; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; ```保存并退出编辑器。
5. 重启 Nginx 以应用更改:
``` sudo systemctl restart nginx ```现在,Nginx 应该已经配置为使用自签名 SSL 证书。访问服务器时,浏览器可能会显示一个安全警告,因为这是一个自签名证书。在实际生产环境中,建议使用权威证书颁发机构颁发的证书。
相关问题与解答:
1、Q: 我使用的是旧版本的 Nginx,如何为其创建自签名证书?
A: 如果使用的是旧版本的 Nginx,可以使用 OpenSSL 工具手动生成私钥和 CSR,然后使用 Certbot 进行证书的申请和安装,具体步骤可以参考官方文档或相关教程。
2、Q: 我的网站有多个域名,如何为每个域名都配置自签名证书?
A: 如果网站有多个域名,可以为每个域名分别生成一个私钥和 CSR,然后使用 Certbot 为每个域名申请和安装独立的证书,在 Nginx 配置文件中,为每个域名创建一个 server
块,并指定相应的证书和私钥文件路径即可。
引导读者评论、关注、点赞和感谢观看。