Невозможно включить режим обслуживания Magento 2, исключая определенный IP-адрес


У меня есть веб-приложение magento2, в котором мне нужно включить режим обслуживания, исключающий определенный IP-адрес. Следующая команда включила режим обслуживания без , исключая мой IP.

php bin/magento maintenance:enable --ip=123.45.67.89

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

php bin/magento maintenance:allow-ips 123.45.67.89

var/.maintenance.ip существует, и в нем указан мой ip-адрес.

Author: TA3, 2017-06-17

3 answers

Вы случайно не используете лак или другой обратный прокси-сервер? т. Е. может случиться так, что ваш общедоступный IP-адрес не будет перенаправлен и, следовательно, не может быть распознан. Проще всего проверить журналы доступа на веб-сервере, посмотреть, видите ли вы там свой собственный IP-адрес. В противном случае вам придется реализовать заголовки x-forwarded-for

 2
Author: Marcel Dumont, 2017-06-17 18:12:40

Обычный режим обслуживания не будет работать, так как ваш реальный IP-адрес передается как перенаправленный IP-адрес из-за настройки Haproxy/Varnish. Попробуйте создать страницу обслуживания и перенаправить весь трафик, за исключением нескольких IP-адресов из белого списка, на эту страницу.

RewriteEngine on
RewriteCond %{HTTP:X-FORWARDED-FOR} !^123\.45\.67\.89
RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC]
RewriteRule .* /maintenance.php [R=302,L]
 0
Author: AeonM, 2020-07-31 06:01:38

Я могу исключить ip-адреса из режима обслуживания, выполнив следующие шаги

1- php bin/magento maintenance:allow-ips MY_IP_ADDRESS

2- php bin/magento maintenance:enable

После выполнения этих двух команд я вижу, что режим обслуживания для меня не включен.

 -1
Author: Brijesh, 2017-06-17 18:15:08