温馨提示×

ubuntu apache2怎样开启ssl

小樊
48
2026-09-02 05:26:49
栏目: 云计算

在 Ubuntu 上通过 Apache2 开启 SSL,通常有两种方式:自签名证书(测试用)和 Let’s Encrypt 免费证书(生产推荐)。下面分别说明。


一、启用 Apache SSL 模块

sudo a2enmod ssl
sudo systemctl restart apache2

二、使用自签名证书(测试环境)

1. 生成证书

sudo mkdir -p /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/apache2/ssl/apache.key \
  -out /etc/apache2/ssl/apache.crt

按提示填写信息(Common Name 填你的域名或 IP)。

2. 配置虚拟主机

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

确保包含:

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

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</VirtualHost>

3. 启用站点

sudo a2ensite default-ssl
sudo systemctl reload apache2

访问:https://你的IP


三、使用 Let’s Encrypt(推荐,生产环境)

1. 安装 Certbot

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

2. 申请证书

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

按提示操作,Certbot 会自动:

  • 配置 SSL
  • 设置 80 → 443 跳转

3. 自动续期测试

sudo certbot renew --dry-run

四、防火墙(如有)

sudo ufw allow 443/tcp

五、验证

sudo apache2ctl -t
sudo systemctl status apache2

浏览器访问:

https://你的域名

如果你愿意,可以告诉我:

  • Ubuntu 版本(20.04 / 22.04 / 24.04)
  • 是否已有域名
  • 是否用于公网或内网

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

0