Laravel 8 配置可信代理

2021-07-16 18:05 更新

如果你的應(yīng)用程序運(yùn)行在失效的 TLS / SSL 證書(shū)的負(fù)載均衡器后,你可能會(huì)注意到你的應(yīng)用程序有時(shí)不能生成 HTTPS 鏈接。通常這是因?yàn)槟愕膽?yīng)用程序正在從端口 80 上的負(fù)載均衡器轉(zhuǎn)發(fā)流量,卻不知道是否應(yīng)該生成安全鏈接。

解決這個(gè)問(wèn)題需要在 Laravel 應(yīng)用程序中包含 App\Http\Middleware\TrustProxies 中間件,這使得你可以快速自定義應(yīng)用程序信任的負(fù)載均衡器或代理。你的可信代理應(yīng)該作為這個(gè)中間件的 $proxies 屬性的數(shù)組列出。除了配置受信任的代理之外,還可以配置應(yīng)該信任的代理 $header

<?php

namespace App\Http\Middleware;

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

class TrustProxies extends Middleware
{
    /**
     * 此應(yīng)用的信任代理
     *
     * @var string|array
     */
    protected $proxies = [
        '192.168.1.1',
        '192.168.1.2',
    ];

    /**
     * 應(yīng)被用于偵測(cè)代理的headers配置
     *
     * @var int
     */
    protected $headers = Request::HEADER_X_FORWARDED_ALL;
}

技巧:如果你使用 AWS 彈性負(fù)載平衡,你的 $header 值應(yīng)該是 Request::HEADER_X_FORWARDED_AWS_ELB。如果您想查看更多可用于 $headers 的屬性信息,請(qǐng)查閱 Symfony 的文檔 信任代理


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)