温馨提示×

ubuntu lamp怎样配ssl

小樊
44
2026-10-09 22:48:43
栏目: 云计算

在 Ubuntu 上搭建 LAMP(Linux + Apache + MySQL + PHP) 并配置 SSL(HTTPS),一般有两种常见方式:


一、使用 Let’s Encrypt 免费 SSL(推荐)

1. 安装 LAMP(如已安装可跳过)

sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql -y

2. 开启 Apache SSL 模块

sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2

3. 安装 Certbot

sudo apt install certbot python3-certbot-apache -y

4. 申请并自动配置 SSL

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

✅ 按提示输入邮箱、同意协议
✅ Certbot 会自动修改 Apache 配置并开启 HTTPS

5. 设置自动续期

sudo certbot renew --dry-run

二、使用自签名 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. 配置 Apache SSL

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

修改以下内容:

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

3. 启用配置

sudo a2ensite default-ssl
sudo systemctl restart apache2

浏览器访问:

https://your-server-ip

(会提示“不安全”,属正常现象)


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

sudo a2enmod rewrite

在网站配置中加入:

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

四、常见问题

✅ 防火墙

sudo ufw allow 80
sudo ufw allow 443

✅ 域名解析

  • 域名 A 记录指向服务器 IP

✅ Apache 配置错误

sudo apache2ctl configtest

如果你告诉我:

  • Ubuntu 版本(20.04 / 22.04 / 24.04)
  • 域名 or 仅 IP
  • 生产环境 or 测试

我可以给你更精确的一步到位配置。

0 踩