温馨提示×

ubuntu lamp怎么开启ssl

小樊
42
2026-10-27 12:50:26
栏目: 云计算

在 Ubuntu 的 LAMP(Linux + Apache + MySQL + PHP)环境下开启 SSL,通常有两种常见方式:


一、使用 Let’s Encrypt 免费证书(推荐,适合公网域名)

1. 安装 Certbot

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

2. 申请并自动配置 SSL

sudo certbot --apache

按提示输入:

  • 邮箱
  • 同意条款
  • 域名(如 example.com、www.example.com)
  • 是否强制 HTTP 跳转 HTTPS(建议选 2)

3. 验证

浏览器访问:

https://你的域名

4. 自动续期测试

sudo certbot renew --dry-run

二、使用自签名证书(适合本地/测试)

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. 配置 Apache 虚拟主机

编辑站点配置(如 default-ssl.conf):

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

修改关键内容:

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

4. 启用 SSL 站点

sudo a2ensite default-ssl
sudo systemctl restart apache2

5. 访问测试

https://服务器IP

(浏览器会提示不安全,属正常现象)


三、常见问题

  • 防火墙未放行 443
sudo ufw allow 443/tcp
  • HTTP 强制跳转 HTTPS 在站点配置中加入:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

如果你告诉我:

  • Ubuntu 版本
  • 是否有域名
  • 云服务器还是本地

我可以给你更精确的步骤。

0 踩