温馨提示×

ubuntu apache怎样开启ssl

小樊
42
2026-09-05 07:37:57
栏目: 云计算

在 Ubuntu 上通过 Apache 开启 SSL,通常步骤如下(以 Ubuntu 20.04 / 22.04 为例,使用 Let’s Encrypt 免费证书自签证书 都说明)。


一、使用 Let’s Encrypt(推荐,公网可用)

1. 安装 Apache 和 Certbot

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

2. 确认域名解析

确保你的域名(如 example.com)已解析到服务器 IP。

3. 获取并自动配置 SSL

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

按提示选择:

  • 是否重定向 HTTP → HTTPS(推荐选 2)

4. 验证

访问:

https://example.com

5. 自动续期

sudo certbot renew --dry-run

(Certbot 已自动添加定时任务)


二、使用自签证书(内网 / 测试)

1. 启用 SSL 模块

sudo a2enmod ssl
sudo systemctl restart apache2

2. 生成自签证书

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

3. 配置虚拟主机

编辑或新建:

sudo nano /etc/apache2/sites-available/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

    <Directory /var/www/html>
        AllowOverride All
    </Directory>
</VirtualHost>

4. 启用站点

sudo a2ensite ssl.conf
sudo systemctl restart apache2

三、HTTP 强制跳转 HTTPS(可选)

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

四、防火墙(如有)

sudo ufw allow 80
sudo ufw allow 443

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

  • Ubuntu 版本
  • Apache 是否已安装
  • 是否用于公网 / 内网
  • 域名情况

我可以给你精确配置示例

0