gpt4 book ai didi

php - Nginx :allow folder access only from localhost

转载 作者:行者123 更新时间:2023-12-04 18:40:08 25 4
gpt4 key购买 nike

我有一个名为 admin 的文件夹这是在var/www/html目录。

我想从公共(public)互联网访问该文件夹,即只允许从本地主机访问。

为了那个原因

1) 创建文件whitelist-adminsites-available目录并添加以下内容。

server{

location ~ /admin/.*\.php$ {
allow 127.0.0.1;
try_files $uri $uri/ /index.php;
deny all;
}

}

当我访问 <public-ip>/admin我收到 403错误但链接 <public-ip>/admin/index.php正在工作我想禁用它。

最佳答案

server {

location = /admin { # its good to block the admin alone too
allow 127.0.0.1;
deny all;
try_files $uri $uri/ /index.php;
}

location ^~ /admin/ { # block anything beginning with /admin/
allow 127.0.0.1;
deny all;
try_files $uri $uri/ /index.php;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
#fastcgi_index index.php;
# With php7.0-cgi alone:
#fastcgi_pass 127.0.0.1:9000;
# With php7.0-fpm: fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

}
此配置应仅允许 localhost 连接,并拒绝任何管理 url 上的所有其他连接。
另一方面,如果您的计算机被阻止,可能是因为您是通过公共(public) ip 而不是直接通过 localhost 发出请求。(例如:如果您通过互联网进行重定向,您的 ip 将成为服务器ip,而不是本地主机)。
这应该可以解决问题,如果没有,也许有另一个位置可以捕获连接,而不是这个。评论它是否有效或无效。
编辑:
了解它的来源: https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and-location-block-selection-algorithms
^~ 表示这是配置中最好的“~”,它将是在“=”位置之后检查的第一个。这应该优先于您的/admin/位置而不是 .php 位置。
这应该有效。 (最后:D)

关于php - Nginx :allow folder access only from localhost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54665806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com