要配置 Nginx 只允许特定的 Host 字段(例如 10.19.29.110:7070 和 127.0.0.1:7070)访问,可以使用 map 和 server 指令来实现。以下是一个简单的示例配置:
http {
map $host $allowed_host {
default 0; # 默认不允许
"10.19.29.110" 1; # 允许的主机
"127.0.0.1" 1; # 允许的主机
}
server {
listen 7070;
location / {
if ($allowed_host = 0) {
return 403; # 拒绝访问
}
# 正常处理请求
proxy_pass http://backend;
# 或者其他处理逻辑...
}
}
}
配置说明:
map指令用于根据$host设置一个变量$allowed_host,如果请求的 Host 是允许的,则设置为1,否则为0。- 在
location /块中,通过if ($allowed_host = 0)来检查请求是否来自于允许的 Host。如果不是,则返回 HTTP 状态码 403 Forbidden。 - 根据你的需求,可以将处理请求的逻辑替换为合适的代理或其他操作。
请根据实际情况修改 Nginx 配置,并确保重新加载 Nginx 服务以使更改生效。
内容由零声教学AI助手提供,问题来源于学员提问




