温馨提示×

怎样在Ubuntu上配置SSL证书

小樊
50
2025-09-07 12:26:37
栏目: 云计算

在Ubuntu上配置SSL证书,一般可按以下步骤进行:

准备工作

更新系统软件包并安装必要的依赖,如OpenSSL:

sudo apt update sudo apt install openssl 

获取SSL证书

可使用Let’s Encrypt免费获取,安装Certbot工具:

sudo apt install certbot python3-certbot-nginx # 用于Nginx sudo apt install certbot python3-certbot-apache # 用于Apache 

然后运行Certbot获取证书,以Nginx为例:

sudo certbot --nginx -d example.com -d www.example.com 

配置Web服务器

  • Nginx:Certbot会自动修改配置文件,通常位于/etc/nginx/sites-available/。确保配置中包含监听443端口、指定证书和私钥文件路径等内容,如:
server { listen 443 ssl; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # 其他配置... } 

修改后测试配置并重新加载Nginx:

sudo nginx -t sudo systemctl reload nginx 
  • Apache:Certbot会自动更新虚拟主机配置文件,一般在/etc/apache2/sites-available/。确保包含类似以下内容:
<VirtualHost *:443> ServerName example.com SSLEngine on SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # 其他配置... </VirtualHost> 

然后启用站点并重启Apache:

sudo a2ensite example.com.conf sudo systemctl restart apache2 

设置自动续期

Let’s Encrypt证书有效期为90天,Certbot可自动续期。可手动测试续期:

sudo certbot renew --dry-run 

若要设置定时任务自动续期,可编辑crontab:

sudo crontab -e 

添加如下内容(每天检查两次):

0 12 * * * /usr/bin/certbot renew --quiet 0 0 * * * /usr/bin/certbot renew --quiet 

0