You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Laravel Sail项目配置SSL后报Unsupported SSL request错误如何解决

报错根本原因

你当前的错误是因为Nginx Proxy Manager(NPM)将加密的HTTPS请求直接转发到了仅支持HTTP协议的Laravel Sail 80端口,Sail内置的Web服务无法解密HTTPS流量,因此抛出Unsupported SSL request错误。

解决步骤

第一步:修正NPM反向代理配置

打开NPM管理后台,编辑你对应前后端域名的代理主机规则:

  • 转发协议选HTTP,不要选HTTPS
  • 转发目标IP填你宿主机的IP;如果NPM和Sail应用在同一个Docker网络下,可以直接填对应容器名:前端填papa-frontend,后端填papa-dashboard
  • 转发端口填对应映射端口:前端填8002,后端填8001
  • 勾选「SSL」标签下的「强制HTTPS」、「HTTP/2支持」选项
  • 勾选「高级」标签下的「Websockets支持」,同时添加以下配置确保请求头正确传递:
location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $host;
    proxy_pass http://<你刚才填的转发目标>:<对应端口>;
}

第二步:修改Laravel应用配置

分别修改前后端两个Laravel应用的配置:

  1. 编辑项目根目录下的.env文件:
# 改成对应业务的HTTPS域名
APP_URL=https://你的业务域名
# 信任所有代理,生产环境可以替换为NPM所在的Docker网段提升安全性
TRUSTED_PROXIES=*
  1. 编辑app/Providers/AppServiceProvider.php,在boot方法中添加强制HTTPS协议的配置:
use Illuminate\Support\Facades\URL;

public function boot()
{
    // 非本地环境强制生成HTTPS链接
    if ($this->app->environment('production')) {
        URL::forceScheme('https');
    }
}
  1. 重启两个Sail应用生效:
./vendor/bin/sail restart

注意事项

如果配置后出现重定向次数过多的报错,确认TRUSTED_PROXIES配置正确,且NPM规则中已经正确传递X-Forwarded-Proto头即可解决。

可选优化(推荐)

为了避免直接暴露Sail端口到公网,你可以把NPM加入到两个Sail应用的mci_events_sail外部网络中,之后NPM转发时可以直接用容器名+80端口访问,不需要填写宿主机IP和映射的8001/8002端口,安全性更高。


内容的提问来源于stack exchange,提问作者Georgescu Rares Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:15:01