在Ubuntu上部署ThinkPHP项目的HTTPS,你需要先获取SSL证书,然后配置Web服务器(如Nginx或Apache)以使用该证书。以下是使用Nginx作为Web服务器的示例步骤:
sudo apt update
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
将yourdomain.com和www.yourdomain.com替换为你的域名。Certbot将自动配置Nginx并启用HTTPS。
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
sudo nano /etc/nginx/sites-available/default
server块,并添加以下内容:listen 443 ssl;
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 '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;
将yourdomain.com替换为你的域名。
保存并关闭配置文件。
重载Nginx以应用更改:
sudo nginx -t
sudo systemctl reload nginx
现在,你的ThinkPHP项目应该可以通过HTTPS访问了。请确保你的防火墙允许443端口的流量。
如果你使用的是Apache Web服务器,请参考Certbot官方文档中的Apache部分:https://certbot.eff.org/docs/using/certbot-apache