在phpEnv集成环境中,Nginx作为常用的Web服务器,可以通过自身的访问控制指令轻松实现禁止特定IP访问站点。这种方式性能高且配置简单,适合本地开发、测试环境以及小型生产站点使用。

一、找到phpEnv中站点的Nginx配置
打开phpEnv面板,进入对应站点的设置或配置文件入口。通常每个站点都有独立的Nginx虚拟主机配置,文件位于phpEnv安装目录下的nginx/conf/vhost目录中,文件名多为站点域名加.conf。
二、使用deny指令禁止特定IP
Nginx提供了allow和deny两个核心指令,配合ngx_http_access_module模块控制客户端IP。规则按顺序匹配,先写先生效。
1. 禁止单个IP
在站点的server块或location块中加入如下配置:
server {
listen 80;
server_name test.ipipp.com;
# 禁止192.168.0.1访问
deny 192.168.0.1;
# 允许其他所有IP
allow all;
location / {
root www/test;
index index.php index.html;
}
}
2. 禁止多个IP或IP段
如果需要屏蔽多个地址,可连续写多条deny规则,也支持CIDR格式:
server {
listen 80;
server_name test.ipipp.com;
deny 192.168.0.1;
deny 10.0.0.0/24;
deny 127.0.0.1;
allow all;
location / {
root www/test;
index index.php index.html;
}
}
三、配置说明与注意点
- deny和allow遵循自上而下匹配,命中第一条规则即停止,所以若写了allow all,必须放在deny之后。
- 如果只想对某个路径限制,例如后台目录,可将deny写在对应的location块内。
- 配置修改后,需在phpEnv中重启Nginx或执行nginx -s reload使规则生效。
四、在location中限制后台访问示例
以下示例仅禁止特定IP访问/admin目录:
server {
listen 80;
server_name test.ipipp.com;
location /admin {
deny 192.168.0.1;
allow all;
try_files $uri $uri/ /index.php?$args;
}
location / {
root www/test;
index index.php index.html;
}
}
五、验证配置结果
用被禁止的IP访问站点时,Nginx会返回403状态码。可通过浏览器或curl命令测试:
curl -I http://test.ipipp.com # 被禁IP访问时显示 HTTP/1.1 403 Forbidden
通过上述方式,就能在phpEnv的Nginx环境中稳定地禁止指定IP访问站点,且不影响其他正常用户。
phpEnvNginxIP_access_control修改时间:2026-07-26 19:39:19