您可以通过在 Nginx 的配置文件中使用 geo
模块和 if
语句来实现这个功能。以下是一个示例配置,您可以根据自己的需求进行调整:
http {
# 定义允许的 IP 列表
geo $allowed_ip {
default 0; # 默认不允许
10.19.29.110 1; # 允许的 IP 地址
127.0.0.1 1; # localhost
}
server {
listen 7070;
location / {
# 检查请求的 IP 是否在允许列表中
if ($allowed_ip = 0) {
return 403; # 如果不在允许列表中,返回403 Forbidden
}
# 正常处理请求...
proxy_pass http://your_backend_service;
}
}
}
配置说明:
- geo 指令:用于定义一个变量
$allowed_ip
,其值为1
表示允许访问,0
表示拒绝访问。 - if 条件判断:检查
$allowed_ip
是否为0
,如果是,则返回 HTTP 状态码403 Forbidden
。 - proxy_pass:正常情况下,可以将请求转发到后端服务。
请确保在修改 Nginx 配置后重新加载或重启 Nginx,使更改生效:
sudo nginx -s reload
以上配置应该能实现您的需求。如果有其他问题,请随时询问!
内容由零声教学AI助手提供,问题来源于学员提问