linux

LNMP中Nginx如何配置HTTPS

小樊
56
2025-07-07 03:22:32
栏目: 编程语言

在LNMP(Linux, Nginx, MySQL, PHP)环境中配置HTTPS,你需要一个SSL证书。你可以从证书颁发机构(CA)购买一个,或者使用Let’s Encrypt免费获取。以下是配置HTTPS的基本步骤:

  1. 安装Certbot(如果你使用的是Ubuntu或Debian系统):
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
  1. 运行Certbot以自动配置Nginx和生成SSL证书:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

yourdomain.comwww.yourdomain.com替换为你的域名。Certbot会自动检测Nginx配置文件的位置,并在其中添加HTTPS相关的配置。

  1. Certbot会提示你输入电子邮件地址、同意服务条款并设置自动续期。完成这些步骤后,Certbot会生成SSL证书并将其存储在/etc/letsencrypt/live/yourdomain.com/目录下。

  2. Certbot会自动修改Nginx配置文件,使其支持HTTPS。以下是一个典型的Nginx HTTPS配置示例:

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;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;

    root /var/www/yourdomain.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

请确保将yourdomain.com替换为你的域名,并根据需要调整其他设置。

  1. 保存更改并重新加载Nginx配置:
sudo nginx -t
sudo systemctl reload nginx

现在,你的网站应该已经通过HTTPS提供服务了。你可以通过访问https://yourdomain.com来验证。

0
看了该问题的人还看了