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

如何在Laravel 5.6中为Heroku配置可信代理中间件

在Laravel中为Heroku配置可信代理的正确方式

如果你正在Heroku上部署Laravel应用,处理负载均衡的请求头时一定要注意可信代理的配置,不然可能会带来安全风险。

关键注意点

Heroku的路由器不会设置Forwarded和X-Forwarded-Host这两个请求头,但当你开启了可信代理后,Symfony的Request组件默认会信任所有转发类请求头。为了避免恶意请求利用这一点,必须明确阻止Laravel信任这两个头。

最终配置代码

修改你的app/Http/Middleware/TrustProxies.php文件,调整为以下内容:

<?php

namespace App\Http\Middleware;

use Illuminate\Http\Middleware\TrustProxies as Middleware;
use Illuminate\Http\Request;

class TrustProxies extends Middleware
{
    /**
     * The trusted proxies for this application.
     *
     * @var array<int, string>|string|null
     */
    protected $proxies = '*';

    /**
     * The headers that should be used to detect proxies.
     *
     * @var int
     */
    protected $headers = Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO;
}

配置说明

  • $proxies = '*':因为Heroku的代理IP是动态变化的,所以设置为信任所有代理是合理的选择。
  • $headers:明确指定只信任X-Forwarded-For、X-Forwarded-Port和X-Forwarded-Proto这三个头,排除了Forwarded和X-Forwarded-Host,完全适配Heroku的环境要求。

内容的提问来源于stack exchange,提问作者flyingL123

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:14:39