ZBLOG

不对哦

抱歉,我的回答可能没有满足您的需求。根据您所述的条件,您希望在 Nginx 中判断请求的 Host 字段,如果不等于 10.19.29.110:7070 并且不等于 127.0.0.1:7070 时返回403 Forbidden。

可以使用 Nginx 的 map 指令来实现这一逻辑,这样会更简洁和有效。以下是一个示例配置:

  1. http {
  2. map $http_host $allowed {
  3. default 0; # 默认值为 0,表示拒绝访问
  4. "10.19.29.110:7070" 1; # 如果匹配,则设置为 1
  5. "127.0.0.1:7070" 1; # 如果匹配,则设置为 1
  6. }
  7. server {
  8. listen 7070;
  9. location / {
  10. if ($allowed = 0) {
  11. return 403; # 返回403 Forbidden
  12. }
  13. # 正常处理请求
  14. proxy_pass http://your_backend_server;
  15. }
  16. }
  17. }

配置说明:

  • map:首先定义了一个映射 $allowed,如果 Host 匹配指定值则设为 1,否则默认为 0
  • if:在 location 中检查 $allowed 的值。如果是 0(即不匹配任何允许的 Host),则返回403 Forbidden。

请记得根据实际情况调整 proxy_pass 的地址。这种方式避免了对多个 if 条件的重复判断,更加高效和易读。

如果还有其他问题或者需要进一步帮助,请告诉我!


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?