我正在尝试限制对 nginx 中 magento 管理区域的访问。我们曾经在 apache 中执行以下操作,但不知道如何在 Nginx 中执行此操作:
RewriteCond %{REMOTE_ADDR} !^116\.71\.8\.191
RewriteCond %{REQUEST_URI} admin [NC]
RewriteRule ^(.*)$ / [F,L]
问候,
史蒂夫
我正在尝试限制对 nginx 中 magento 管理区域的访问。我们曾经在 apache 中执行以下操作,但不知道如何在 Nginx 中执行此操作:
RewriteCond %{REMOTE_ADDR} !^116\.71\.8\.191
RewriteCond %{REQUEST_URI} admin [NC]
RewriteRule ^(.*)$ / [F,L]
问候,
史蒂夫
location /admin {
allow 116.71.8.191;
# drop rest of the world
deny all;
}
并且不要忘记重新加载规则
/usr/local/nginx/sbin/nginx -s reload
更多信息可以在这里找到:http ://www.cyberciti.biz/faq/linux-unix-nginx-access-control-howto/
对于带有 Varnish 方案的 Magento 2
location ~* ^/(index\.php/admin|admin) {
allow 1.2.3.4;
try_files $uri $uri/ /index.php?$args;
location ~* \.php$ { try_files /dummy @proxy; }
deny all;
}
只需添加
Location / {
if ($remote_addr !~ "^116.71.8.191"){
set $rule_0 1$rule_0;
}
if ($uri ~* "admin"){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
return 403;
break;
}