Ubuntu下如何配置Apache2的SSL

在Ubuntu下配置Apache2的SSL,你需要遵循以下步骤:

  1. 安装Apache2和SSL模块:
    打开终端,运行以下命令来安装Apache2和SSL模块:

    sudo apt update
    sudo apt install apache2
    sudo a2enmod ssl
    
  2. 获取SSL证书:
    你可以从Let’s Encrypt免费获取SSL证书。首先,确保已安装Certbot:

    sudo apt install certbot python3-certbot-apache
    

    然后,运行以下命令来获取并安装SSL证书:

    sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
    

    Certbot会自动创建一个名为/etc/letsencrypt的目录,其中包含你的证书文件。按照提示操作,设置证书的有效期和其他选项。

  3. 配置Apache2以使用SSL:
    Certbot会自动修改/etc/apache2/sites-available/000-default.conf文件,以启用SSL。如果你想自定义配置,可以编辑此文件。以下是一个基本的SSL配置示例:

    
        ServerAdmin webmaster@localhost
        ServerName yourdomain.com
        ServerAlias www.yourdomain.com
        DocumentRoot /var/www/html
    
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/yourdomain.com/chain.pem
    
        
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    
    

    yourdomain.com替换为你的域名,并根据需要调整其他设置。

  4. 重启Apache2服务:
    保存更改后,重启Apache2服务以应用新的配置:

    sudo systemctl restart apache2
    
  5. 测试SSL配置:
    在浏览器中访问https://yourdomain.com,你应该看到一个绿色的锁图标,表示SSL配置成功。你还可以使用SSL检查工具(如SSL Labs)来验证你的SSL配置。

注意:Certbot会自动为你的域名设置一个30天的有效期。在证书到期前,Certbot会发送提醒通知。你可以使用以下命令手动更新证书:

sudo certbot renew