ZBLOG

nginx检查host字段,如果不以10.19.29.110:7070开头并且不以127.0.0.1:7070开头,就禁止访问

要在 Nginx 中检查 Host 字段,并确保其以 10.19.29.110:7070127.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助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22563

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?