美文网首页
72. 请求 配置可信代理

72. 请求 配置可信代理

作者: 独步天堂 | 来源:发表于2017-10-12 00:01 被阅读74次

如果你的应用程序运行在 TLS / SSL 证书负载均衡器后,你可能会注意到你的应用程序有时不会生成 HTTPS 链接。通常这是因为你的应用程序被负载均衡器转发 80 端口的流量,不知道应该生成安全链接。

为了解决这个问题,你可以在 Laravel 应用程序中加载 App\Http\Middleware\TrustProxies 这个中间件,这使得你可以快速自定义应用程序信任的负载均衡器或代理。你信任的代理列表应该保存在这个中间件的属性 $proxies 数组中。除了配置可信代理,你还可以配置发送给代理的原始请求响应头:

<?php

namespace App\Http\Middleware;

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

class TrustProxies extends Middleware
{
    /**
     * 这个应用程序的可信代理列表
     *
     * @var array
     */
    protected $proxies = [
        '192.168.1.1',
        '192.168.1.2',
    ];

    /**
     * 当前代理响应头映射关系
     *
     * @var array
     */
    protected $headers = [
        Request::HEADER_FORWARDED => 'FORWARDED',
        Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR',
        Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST',
        Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT',
        Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO',
    ];
}

如果你使用亚马逊 AWS 或其他的云负载均衡器,你可能不知道负载均衡器的实际 IP 地址。在这种情况下,你可以使用 ** 来信任所有代理:

/**
 * 这个应用程序的可信代理列表
 *
 * @var array
 */
protected $proxies = '**';

相关文章

网友评论

      本文标题:72. 请求 配置可信代理

      本文链接:https://www.haomeiwen.com/subject/fpngyxtx.html