温馨提示×

Apache2如何配置SSL证书加密

小樊
40
2025-09-19 08:03:26
栏目: 云计算

要在Apache2上配置SSL证书加密,你需要遵循以下步骤:

  1. 安装Apache2(如果尚未安装): 对于Debian/Ubuntu系统,请使用以下命令:

    sudo apt-get update
    sudo apt-get install apache2
    

    对于CentOS/RHEL系统,请使用以下命令:

    sudo yum install httpd
    
  2. 安装Certbot(Certbot是一个自动获取和安装Let’s Encrypt SSL证书的工具): 对于Debian/Ubuntu系统,请使用以下命令:

    sudo apt-get install certbot python3-certbot-apache
    

    对于CentOS/RHEL系统,请使用以下命令:

    sudo yum install certbot python2-certbot-apache
    
  3. 获取SSL证书: 使用Certbot获取SSL证书。请确保将yourdomain.com替换为你的实际域名。

    sudo certbot --apache -d yourdomain.com
    

    Certbot将引导你完成证书获取过程。你需要提供电子邮件地址、同意服务条款并允许Certbot在你的服务器上运行。

  4. 配置Apache2以使用SSL证书: Certbot将自动更新你的Apache2配置文件(通常位于/etc/apache2/sites-available/yourdomain.com-le-ssl.conf/etc/httpd/conf.d/yourdomain.com-le-ssl.conf),以启用SSL加密。配置文件应包含以下内容:

    <IfModule mod_ssl.c>
        <VirtualHost *:443>
            ServerName yourdomain.com
            ServerAlias www.yourdomain.com
            DocumentRoot /var/www/yourdomain.com
    
            SSLEngine on
            SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
            SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
            Include /etc/letsencrypt/options-ssl-apache.conf
    
            <Directory /var/www/yourdomain.com>
                Options Indexes FollowSymLinks
                AllowOverride All
                Require all granted
            </Directory>
    
            ErrorLog ${APACHE_LOG_DIR}/yourdomain.com_error.log
            CustomLog ${APACHE_LOG_DIR}/yourdomain.com_access.log combined
        </VirtualHost>
    </IfModule>
    

    确保将ServerNameServerAliasDocumentRoot指令更改为你的实际域名和网站目录。

  5. 启用SSL站点并重启Apache2: 对于Debian/Ubuntu系统,请使用以下命令:

    sudo a2ensite yourdomain.com-le-ssl.conf
    sudo systemctl restart apache2
    

    对于CentOS/RHEL系统,请使用以下命令:

    sudo systemctl enable httpd-ssl.service
    sudo systemctl restart httpd
    
  6. 测试SSL配置: 在浏览器中访问https://yourdomain.com,你应该看到一个绿色的锁图标,表示你的网站已成功启用SSL加密。

注意:Let’s Encrypt证书有效期为90天。为了确保证书始终有效,你需要设置Certbot自动更新证书。可以使用以下命令:

sudo certbot renew --dry-run

如果一切正常,Certbot将自动更新证书。你还可以设置一个cron任务或systemd定时器来自动执行此操作。

0