ZBLOG

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

你可以使用 Nginx 的 server 块和 if 指令结合正则表达式来检查请求的 Host 字段。如果 Host 字段不以 10.19.29.110 开头并且不以 127.0.0.1 开头,就返回 403 Forbidden。以下是一个配置示例:

  1. server {
  2. listen 80;
  3. # 检查 Host 是否符合要求
  4. if ($host !~ ^(10\.19\.29\.110|127\.0\.0\.1)) {
  5. return 403; # 如果不匹配,返回403 Forbidden
  6. }
  7. location / {
  8. # 正常处理请求的逻辑
  9. try_files $uri $uri/ =404;
  10. }
  11. }

配置说明

  • listen 80; 表示在端口 80 上监听 HTTP 请求。
  • if ($host !~ ^(10\.19\.29\.110|127\.0\.0\.1)) { ... } 使用正则表达式检查请求中的 Host 是否以指定 IP 地址开头。
    • ^ 表示行的开始,后面跟随要匹配的模式。
    • (10\.19\.29\.110|127\.0\.0\.1) 是一个选择,表示匹配这两个 IP 地址之一。
  • 如果条件为真,即请求的 Host 不满足要求,则使用 return 403; 返回403 Forbidden状态码。
  • location / 块中,你可以添加其他正常的请求处理逻辑。

完整性检查

确保在修改配置文件后进行语法检查,并重新加载 Nginx:

  1. # 检查 Nginx 配置文件语法是否正确
  2. sudo nginx -t
  3. # 重载 Nginx,以使更改生效
  4. sudo nginx -s reload

如果有任何其他问题或需要进一步的帮助,请随时询问!


内容由零声教学AI助手提供,问题来源于学员提问

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?