Управління довірою проксі в додатках Laravel

2
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Налаштування middleware TrustProxies у Laravel є ключовим моментом для коректної обробки інформації про клієнта у середовищах з навантажувальними балансувальниками чи зворотними проксі. Досліджуйте, як правильно налаштувати вашу програму для різних хмарних середовищ і забезпечити безпечну передачу даних!

При розгортанні Laravel-додатків за балансувальниками навантаження або зворотними проксі важливо правильно налаштувати middleware TrustProxies, щоб гарантувати коректну обробку інформації про клієнта та виявлення HTTPS.

use Illuminate\Http\Request;
 
// Основне налаштування проксі
->withMiddleware(function (Middleware $middleware) {
    $middleware->trustProxies(at: [
        '10.0.0.0/8',
        '172.16.0.0/12'
    ]);
});

Розглянемо практичний приклад налаштування вашого додатка для різних хмарних середовищ:

<?php
 
use Illuminate\Http\Request;
 
->withMiddleware(function (Middleware $middleware) {
    // Визначення хмарного середовища
    $environment = env('APP_ENV');
 
    switch ($environment) {
        case 'production':
            // Налаштування для AWS ELB
            $middleware->trustProxies(
                at: '*',
                headers: Request::HEADER_X_FORWARDED_AWS_ELB
            );
            break;
 
        case 'staging':
            // Налаштування для Digital Ocean
            $middleware->trustProxies(
                at: '*',
                headers: Request::HEADER_X_FORWARDED_FOR |
                    Request::HEADER_X_FORWARDED_HOST |
                    Request::HEADER_X_FORWARDED_PORT |
                    Request::HEADER_X_FORWARDED_PROTO
            );
            break;
 
        default:
            // Налаштування для локального/розробницького середовища
            $middleware->trustProxies(
                at: ['127.0.0.1', '::1'],
                headers: Request::HEADER_X_FORWARDED_FOR |
                    Request::HEADER_X_FORWARDED_PROTO
            );
    }
});

Middleware TrustProxies забезпечує правильну обробку інформації про клієнта у вашій програмі, коли вона працює за балансувальниками навантаження або зворотними проксі.

Популярні

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

Logomark Logotype

Nuxt 3 + Laravel Sanctum: Просте та надійне рішення для автентифікації вашого SPA та API

У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту

Logomark Logotype

Інтеграція Laravel Socialite з бібліотекою Google Client PHP

Ви хочете навчитися, як інтегрувати Google OAuth у вашому проекті Laravel, використовуючи Socialite? Дізнайтеся, як налаштувати доступ до сервісів Google, таких як Календар, у нашій сьогоднішній статті