要在 Nginx 中检查 Host 字段,并确保其以 10.19.29.110:7070
或 127.0.0.1:7070
开头,可以使用正则表达式。在 Nginx 配置中,您可以通过以下方式实现这一点:
server {
listen 7070; # 监听7070端口
# 检查 Host 是否符合要求
if ($host !~ ^(10\.19\.29\.110:7070|127\.0\.0\.1:7070)$) {
return 403; # 如果不匹配,返回403 Forbidden
}
location / {
# 正常处理请求的逻辑
try_files $uri $uri/ =404;
}
}
配置说明
listen 7070;
表示在端口 7070 上监听 HTTP 请求。if ($host !~ ^(10\.19\.29\.110:7070|127\.0\.0\.1:7070)$) { ... }
使用正则表达式检查请求中的 Host 是否等于指定的值。^
表示行的开始,后面跟随要匹配的模式。(10\.19\.29\.110:7070|127\.0\.0\.1:7070)
是一个选择,表示精确匹配这两个 Host 值之一。
- 如果条件为真,即请求的 Host 不满足要求,则使用
return 403;
返回403 Forbidden状态码。 - 在
location /
块中,你可以添加其他正常的请求处理逻辑。
完整性检查
确保在修改配置文件后进行语法检查,并重新加载 Nginx:
# 检查 Nginx 配置文件语法是否正确
sudo nginx -t
# 重载 Nginx,以使更改生效
sudo nginx -s reload
如果有其他问题或需要进一步帮助,请随时询问!
内容由零声教学AI助手提供,问题来源于学员提问