ubuntu

php-fpm在Ubuntu中如何启用HTTPS

小樊
32
2025-02-21 19:20:59
栏目: 编程语言

要在Ubuntu中为PHP-FPM启用HTTPS,您需要先获取SSL证书,然后配置Web服务器(例如Nginx或Apache)以便使用该证书并与PHP-FPM进行通信。以下是在Ubuntu中使用Nginx和Let’s Encrypt SSL证书为PHP-FPM启用HTTPS的步骤:

  1. 安装Certbot和Nginx:
sudo apt update
sudo apt install certbot python3-certbot-nginx
  1. 获取SSL证书:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

yourdomain.com替换为您的实际域名。Certbot将自动为您的域名获取Let’s Encrypt SSL证书,并配置Nginx以使用该证书。

  1. 在Certbot提示时,选择是否将HTTP请求重定向到HTTPS。建议选择“是”。

  2. Certbot将自动修改Nginx配置文件(通常位于/etc/nginx/sites-available/yourdomain.com-le-ssl.conf),以启用HTTPS。确保以下部分已正确配置:

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.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据您的PHP版本更改此行
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    ...
}
  1. 重启Nginx以应用更改:
sudo systemctl restart nginx

现在,您的PHP-FPM应用程序应该已通过HTTPS提供服务。请注意,Let’s Encrypt证书有效期为90天,因此您需要使用certbot renew命令定期更新证书。Certbot还提供了一个cron作业或systemd定时器,可以自动执行此操作。

0
看了该问题的人还看了