温馨提示×

Linux Apache2如何配置SSL

小樊
39
2025-12-28 14:29:57
栏目: 云计算

在Linux系统上配置Apache2以支持SSL涉及几个步骤。以下是一个基本的指南,帮助你设置SSL证书并启用HTTPS。

前提条件

  1. 安装Apache2:如果尚未安装,请使用以下命令安装:

    sudo apt update
    sudo apt install apache2
    
  2. 安装SSL模块:确保已安装mod_ssl模块:

    sudo a2enmod ssl
    
  3. 获取SSL证书:你可以从Let’s Encrypt免费获取SSL证书,或者购买一个商业证书。

配置步骤

1. 获取SSL证书

如果你选择使用Let’s Encrypt,可以使用Certbot工具来获取和续订证书:

sudo apt install certbot python3-certbot-apache

然后运行Certbot来获取证书:

sudo certbot --apache

按照提示完成证书的获取和配置。

2. 手动配置SSL

如果你已经有了SSL证书文件(例如cert.crtkey.key),可以手动配置Apache2。

  1. 创建SSL目录

    sudo mkdir /etc/apache2/ssl
    
  2. 复制证书文件

    sudo cp /path/to/cert.crt /etc/apache2/ssl/
    sudo cp /path/to/key.key /etc/apache2/ssl/
    
  3. 编辑SSL配置文件: 编辑/etc/apache2/sites-available/default-ssl.conf文件:

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    

    修改以下内容:

    <VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
    
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/cert.crt
        SSLCertificateKeyFile /etc/apache2/ssl/key.key
    
        <Directory /var/www/html>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    
  4. 启用SSL站点

    sudo a2ensite default-ssl
    
  5. 重启Apache2服务

    sudo systemctl restart apache2
    

验证配置

打开浏览器并访问https://yourdomain.com,你应该能够看到一个安全的连接(通常显示一个锁图标)。

自动续订Let’s Encrypt证书

如果你使用Certbot获取了Let’s Encrypt证书,它会自动设置一个cron作业来续订证书。你可以手动测试续订过程:

sudo certbot renew --dry-run

如果没有错误,证书将会在到期前自动续订。

通过以上步骤,你应该能够在Linux系统上成功配置Apache2以支持SSL。

0