温馨提示×

debian apache2怎样启用ssl

小樊
47
2026-09-27 15:47:17
栏目: 云计算

在 Debian 上给 Apache2 启用 SSL(HTTPS) 一般分为以下几个步骤:


一、安装 Apache 和 SSL 模块

如果还没装 Apache:

sudo apt update
sudo apt install apache2

启用 SSL 模块:

sudo a2enmod ssl
sudo systemctl restart apache2

二、准备 SSL 证书

方式 1:使用自签名证书(测试用)

生成证书:

sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/ssl/private/apache-selfsigned.key \
  -out /etc/ssl/certs/apache-selfsigned.crt

按提示填写信息即可。


方式 2:使用 Let’s Encrypt(推荐,免费)

sudo apt install certbot python3-certbot-apache
sudo certbot --apache

Certbot 会自动:

  • 申请证书
  • 配置 Apache
  • 设置自动续期

三、配置 Apache 启用 HTTPS

1. 复制默认站点配置

sudo cp /etc/apache2/sites-available/000-default.conf \
     /etc/apache2/sites-available/default-ssl.conf

2. 编辑 SSL 站点配置

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

确保有以下内容(自签名示例):

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
    SSLCertificateKeyFile   /etc/ssl/private/apache-selfsigned.key

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
</VirtualHost>

四、启用 SSL 站点

sudo a2ensite default-ssl.conf
sudo systemctl reload apache2

五、测试

浏览器访问:

https://your-server-ip

或域名(如已解析)

自签名证书会提示“不安全”,这是正常的


六、(可选)HTTP 跳转 HTTPS

编辑站点配置:

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

添加:

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / https://example.com/
</VirtualHost>

然后:

sudo systemctl reload apache2

常见问题

  • 端口未开放:确保防火墙放行 443
    sudo ufw allow 443/tcp
    
  • 证书路径错误:检查 SSLCertificateFile 和 SSLCertificateKeyFile

如果你告诉我:

  • Debian 版本
  • 是否用域名
  • 自签名还是正式证书

我可以给你更精确的配置示例。

0 踩