Как установить режим обслуживания для Laravel 5.8 за балансировщиком нагрузки в экземпляре EC2 и доступ из моего офиса? - PullRequest
1 голос
/ 13 марта 2020

Я хочу использовать Laravel режим обслуживания на экземпляре EC2 за балансировщиком нагрузки, потому что я не хочу прикасаться к консоли AWS для возврата содержания обслуживания.

Более того, я хочу получить доступ к своему приложению через веб-браузер из моего офиса в режиме обслуживания.

Я выполнил следующее, и он перешел в режим обслуживания.

Но я не вижу свое приложение из своего офиса, хотя IP-адрес в моем офисе в список разрешений.

php artisan down --allow=127.0.0.1 --allow=myip/34

Есть ли у вас какие-либо предложения для этого?

Вот моя информация о среде - PHP: 5.7 Laravel: 5.8

Также у меня есть следующий исходный код в App / Http / Middleware / TrustProxies. php

class TrustProxies extends Middleware { protected $proxies = '*'; 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', ]; }

С уважением,

1 Ответ

0 голосов
/ 13 марта 2020

Поскольку вы находитесь за балансировщиком нагрузки, вы будете получать ip этого балансировщика нагрузки, а не ip клиента.

TL; DR

In ваш app/Http/Middleware/TrustProxies.php изменит строку protected $proxies; на:

protected $proxies = '*';

Начиная с Laravel 5.4, существует готовый способ решения этой проблемы: TrustedProxy . Если вы используете более раннюю версию Laravel, вы все равно можете использовать пакет, однако вам придется установить его самостоятельно.

Где возможно, вам следует попытаться установить IP-адреса для обратного однако для прокси это невозможно с AWS, поскольку IP-адреса балансировщика нагрузки постоянно меняются (источник: https://github.com/fideloper/TrustedProxy/wiki/IP-Addresses-of-Popular-Services#aws -elasti c -load-балансировщики ).

Для получения дополнительной информации вы можете обратиться к документации Laravel Настройка доверенных прокси или странице Github для базового пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...