Невозможно включить режим обслуживания 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-адрес.
3 answers
Вы случайно не используете лак или другой обратный прокси-сервер? т. Е. может случиться так, что ваш общедоступный IP-адрес не будет перенаправлен и, следовательно, не может быть распознан. Проще всего проверить журналы доступа на веб-сервере, посмотреть, видите ли вы там свой собственный IP-адрес. В противном случае вам придется реализовать заголовки x-forwarded-for
Обычный режим обслуживания не будет работать, так как ваш реальный 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]
Я могу исключить ip-адреса из режима обслуживания, выполнив следующие шаги
1- php bin/magento maintenance:allow-ips MY_IP_ADDRESS
2- php bin/magento maintenance:enable
После выполнения этих двух команд я вижу, что режим обслуживания для меня не включен.