linux

Linux环境下Laravel如何部署SSL

小樊
86
2025-02-17 07:40:02
栏目: 云计算

在Linux环境下部署Laravel应用程序的SSL证书,通常需要以下几个步骤:

  1. 获取SSL证书 首先,你需要一个SSL证书。你可以从证书颁发机构(CA)购买,或者使用Let’s Encrypt等免费证书颁发机构。

  2. 安装Nginx或Apache Laravel可以通过Nginx或Apache服务器进行部署。这里以Nginx为例,安装Nginx:

sudo apt update
sudo apt install nginx
  1. 配置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证书和私钥的路径。

  1. 启用配置 创建一个符号链接,将新配置文件链接到sites-enabled目录:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
  1. 检查Nginx配置并重启 检查Nginx配置文件是否有语法错误:
sudo nginx -t

如果没有错误,重启Nginx以应用更改:

sudo systemctl restart nginx
  1. 配置Laravel 确保Laravel应用程序的.env文件中的APP_URL设置为你的域名:
APP_URL=https://yourdomain.com
  1. 运行Laravel迁移(可选) 如果你还没有运行Laravel迁移,可以通过以下命令执行:
cd /path/to/your/laravel
php artisan migrate

现在,你的Laravel应用程序应该已经通过HTTPS提供服务了。访问你的域名,你应该能看到浏览器地址栏中的安全锁图标。

0
看了该问题的人还看了