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 配置中,您可以通过以下方式实现这一点:

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

配置说明

  • 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:

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

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


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?