在Linux环境下部署Laravel应用程序的SSL证书,通常需要以下几个步骤:
-
获取SSL证书 首先,你需要一个SSL证书。你可以从证书颁发机构(CA)购买,或者使用Let’s Encrypt等免费证书颁发机构。
-
安装Nginx或Apache Laravel可以通过Nginx或Apache服务器进行部署。这里以Nginx为例,安装Nginx:
sudo apt update sudo apt install nginx
- 配置Nginx
编辑Nginx配置文件,通常位于
/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 /path/to/your/fullchain.pem; ssl_certificate_key /path/to/your/private.key; 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; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; root /path/to/your/laravel/public; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).*$ { deny all; } }
将yourdomain.com
替换为你的域名,将/path/to/your/fullchain.pem
和/path/to/your/private.key
替换为你的SSL证书和私钥的路径。
- 启用配置
创建一个符号链接,将新配置文件链接到
sites-enabled
目录:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
- 检查Nginx配置并重启 检查Nginx配置文件是否有语法错误:
sudo nginx -t
如果没有错误,重启Nginx以应用更改:
sudo systemctl restart nginx
- 配置Laravel
确保Laravel应用程序的
.env
文件中的APP_URL
设置为你的域名:
APP_URL=https://yourdomain.com
- 运行Laravel迁移(可选) 如果你还没有运行Laravel迁移,可以通过以下命令执行:
cd /path/to/your/laravel php artisan migrate
现在,你的Laravel应用程序应该已经通过HTTPS提供服务了。访问你的域名,你应该能看到浏览器地址栏中的安全锁图标。