【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证书。

© 版权声明

相关文章

1 条评论

  • 头像
    一代网白狗子狗 读者

    收藏了,感谢分享

    无记录
    回复