debian

LNMP在Debian上的SSL证书怎么安装

小樊
42
2025-10-12 09:43:33
栏目: 云计算

LNMP在Debian上的SSL证书安装步骤(以Let’s Encrypt为例)

在Debian系统上为LNMP(Linux+Nginx+MySQL+PHP)环境安装SSL证书,推荐使用Certbot工具(Let’s Encrypt官方客户端),可实现自动化获取、配置及续订证书。以下是详细流程:

1. 前提条件

确保已安装并配置好LNMP环境(Nginx、MySQL、PHP),且域名已解析至服务器IP。可通过ping yourdomain.com验证解析是否生效。

2. 安装Certbot及Nginx插件

Certbot是Let’s Encrypt的官方客户端,其Nginx插件可自动修改Nginx配置文件。运行以下命令安装:

sudo apt update
sudo apt install certbot python3-certbot-nginx

安装完成后,Certbot会自动集成Nginx配置功能。

3. 获取并自动配置SSL证书

使用Certbot为域名申请证书,命令格式如下(替换yourdomain.comwww.yourdomain.com为你的域名):

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

执行过程中,Certbot会提示:

Certbot会自动完成以下操作:

4. 验证Nginx配置

若未使用Certbot的自动测试,可手动验证Nginx配置是否正确:

sudo nginx -t

若输出Syntax OK,说明配置无误。

5. 重启Nginx服务

应用配置变更,重启Nginx:

sudo systemctl restart nginx

重启后,通过浏览器访问https://yourdomain.com,应能看到锁图标(HTTPS加密)。

6. 设置证书自动续订

Let’s Encrypt证书有效期为90天,Certbot会自动创建定时任务(cron或systemd)续订证书。可通过以下命令测试续订流程:

sudo certbot renew --dry-run

若输出Congratulations, all renewals succeeded,说明自动续订配置正常。建议每3个月手动测试一次,避免证书过期。

可选:手动配置SSL证书(非Let’s Encrypt场景)

若从其他CA购买证书,需手动上传证书文件至服务器(如/etc/nginx/ssl/目录),并修改Nginx配置文件:

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;
    ssl_certificate /etc/nginx/ssl/fullchain.pem;  # 证书链文件
    ssl_certificate_key /etc/nginx/ssl/privkey.pem; # 私钥文件
    include /etc/nginx/options-ssl-nginx.conf;     # Let’s Encrypt提供的优化配置
    ssl_dhparam /etc/nginx/ssl-dhparams.pem;       # Diffie-Hellman参数(增强安全性)
    # 其他配置(如root目录、PHP处理等)
}

修改后执行sudo nginx -tsudo systemctl restart nginx即可。

通过以上步骤,即可在Debian系统的LNMP环境中成功安装并配置SSL证书,实现网站HTTPS加密访问。

0
看了该问题的人还看了