使用Laravel限制Nginx上的IP访问

时间:2017-02-20 17:58:38

标签: php laravel nginx

使用Laravel拒绝访问Nginx上的路径,但访问的页面会在允许的IP地址上中断。我究竟做错了什么?

我一直在使用以下代码段阻止访问http://some.url/admin(以及http://some.url/admin/login)。用于其他目的,如Wordpress。

# Restrict administrative access
location /admin/ {
  allow x.x.x.x;
  deny all;
}

从非允许的IP访问时出现403错误,这很好。
但是从允许的IP访问时我收到404错误。

2017/02/20 18:40:36 [error] 2663#2663: *325 "/var/www/some-website/html/public/admin/index.php" is not found (2: No such file or directory), client: x.x.x.x, server: some.website, request: "GET /admin/ HTTP/2.0", host: "some.website"

我怀疑Laravel应用程序中的路线出了问题。

大量的反复试验,在网上搜索和StackOverflow都没有给我成功的答案。提前谢谢!

PS。这是我的第一篇文章。如果我做错了,请告诉我。

1 个答案:

答案 0 :(得分:0)

有可能。通过将位置添加到位置块,将位置指回根目录:

try_files $uri $uri/ /index.php?$query_string;