debian

Debian LNMP中Nginx如何配置SSL

小樊
43
2025-09-15 01:28:41
栏目: 云计算

在Debian系统中配置Nginx以支持SSL,你需要遵循以下步骤:

  1. 安装Nginx: 如果你还没有安装Nginx,请运行以下命令来安装它:

    sudo apt update
    sudo apt install nginx
    
  2. 获取SSL证书: 你可以从Let’s Encrypt免费获取SSL证书。首先,确保你已经安装了Certbot和Nginx插件:

    sudo apt install certbot python3-certbot-nginx
    

    然后,运行以下命令来获取并安装证书:

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

    Certbot将自动配置Nginx并创建一个SSL证书。请确保将yourdomain.com替换为你的实际域名。

  3. 配置Nginx: 打开Nginx的默认站点配置文件:

    sudo nano /etc/nginx/sites-available/default
    

    找到以下部分:

    server {
        ...
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
        ...
    }
    

    将其修改为:

    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;
    
        ...
    }
    

    同时,添加一个新的server块以重定向HTTP流量到HTTPS:

    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
        return 301 https://$host$request_uri;
    }
    

    保存并关闭文件。

  4. 检查Nginx配置: 在重新加载Nginx之前,请检查配置文件是否有语法错误:

    sudo nginx -t
    

    如果一切正常,你将看到以下输出:

    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
  5. 重新加载Nginx: 为了使更改生效,请重新加载Nginx:

    sudo systemctl reload nginx
    

现在,你的Nginx服务器应该已经成功配置了SSL,并且可以通过HTTPS访问了。

0
看了该问题的人还看了