温馨提示×

Ubuntu Nginx SSL证书如何申请

小樊
59
2025-07-24 06:06:18
栏目: 云计算

在Ubuntu上为Nginx申请SSL证书主要有两种方式:购买商业SSL证书或获取免费的Let’s Encrypt证书。以下是详细的申请步骤:

使用Let’s Encrypt获取免费SSL证书

  1. 安装Certbot和Nginx插件
sudo apt update
sudo apt install certbot python3-certbot-nginx
  1. 获取证书
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

yourdomain.com替换为你的实际域名。根据提示完成配置,Certbot会自动为你配置Nginx。

  1. 自动续订证书(可选):

Let’s Encrypt证书有效期为90天,为了保持网站的安全,可以使用Certbot的自动续订功能。

sudo certbot renew --dry-run

该命令会模拟续订过程,如果一切正常,你可以设置自动续订:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com --renew-hook "systemctl reload nginx"

手动配置SSL证书(可选)

如果你选择手动获取SSL证书,可以按照以下步骤操作:

  1. 生成私钥
openssl genrsa -out yourdomain.key 2048

yourdomain.key替换为你的实际域名。

  1. 生成证书签名请求(CSR)
openssl req -new -key yourdomain.key -out yourdomain.csr

根据提示输入信息。

  1. 生成自签名证书
openssl x509 -req -days 365 -in yourdomain.csr -signkey yourdomain.key -out yourdomain.crt

yourdomain.crt替换为你的实际域名。

  1. 配置Nginx使用SSL证书

编辑Nginx配置文件,通常位于/etc/nginx/sites-available/default/etc/nginx/nginx.conf。添加或修改以下内容:

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;
    ssl_certificate /path/to/yourdomain.crt;
    ssl_certificate_key /path/to/yourdomain.key;
    # ... 其他配置 ...
}

/path/to/yourdomain.crt/path/to/yourdomain.key替换为你的证书和私钥文件的路径。

  1. 测试Nginx配置并重启
sudo nginx -t
sudo systemctl restart nginx

通过以上步骤,你应该能够在Ubuntu上成功为Nginx申请并配置SSL证书,确保网站的数据传输安全。

0