要配置 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助手提供,问题来源于学员提问