ubuntu

LNMP在Ubuntu上如何配置SSL证书

小樊
36
2025-04-21 12:18:19
栏目: 云计算

在Ubuntu上配置LNMP(Linux, Nginx, MySQL, PHP)环境的SSL证书,通常涉及以下步骤:

  1. 安装Certbot: Certbot是一个自动化的工具,用于获取和部署Let’s Encrypt SSL证书。首先,你需要安装它。

    sudo apt update
    sudo apt install certbot python3-certbot-nginx
    
  2. 获取SSL证书: 使用Certbot获取SSL证书。运行以下命令并按照提示操作。

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

    这里的yourdomain.comwww.yourdomain.com是你的域名。Certbot会自动配置Nginx并重载服务。

  3. 自动续期: Let’s Encrypt证书的有效期是90天,因此你需要设置自动续期。

    sudo systemctl enable certbot.timer
    sudo systemctl start certbot.timer
    
  4. 检查配置: 确保Nginx配置文件中包含了SSL相关的配置。通常,Certbot会自动修改Nginx配置文件,但你可以手动检查。

    sudo nano /etc/nginx/sites-available/yourdomain.com
    

    确保有以下配置:

    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl;
        server_name yourdomain.com www.yourdomain.com;
    
        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    
        # 其他配置...
    }
    
  5. 测试Nginx配置: 在重新加载Nginx之前,测试配置文件是否有语法错误。

    sudo nginx -t
    
  6. 重新加载Nginx: 如果配置文件没有问题,重新加载Nginx以应用更改。

    sudo systemctl reload nginx
    
  7. 防火墙设置: 确保防火墙允许HTTPS流量。

    sudo ufw allow 'Nginx Full'
    
  8. 检查SSL状态: 使用在线工具或命令行工具检查SSL证书是否正确安装和配置。

    openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
    

通过以上步骤,你应该能够在Ubuntu上成功配置LNMP环境的SSL证书。

0
看了该问题的人还看了