代码之家  ›  专栏  ›  技术社区  ›  Rob Cameron

nginx作为反向代理来限制HTTP谓词访问

  •  7
  • Rob Cameron  · 技术社区  · 15 年前

    所以我有一个应用程序使用couchdb作为后端。Coach还没有真正的安全/用户模型,默认情况下,任何人都可以做任何事情(包括删除记录甚至整个数据库)。但是,如果我们将访问限制为只获取请求,那么就更安全了。

    我希望我可以把nginx放在前面作为反向代理,但我找不到一个选项,可以让您根据传入的动词筛选请求。庞德这样做了,所以我想走这条路,但我们已经广泛使用nginx,最好不要在混合中添加其他技术。有人知道有没有一个选择可以让这一切发生?

    我甚至决定在Apache中使用mod_代理选项。有什么想法吗?

    2 回复  |  直到 13 年前
        1
  •  8
  •   Phillip B Oldham    15 年前

    您可以从 $request_method 变量。所以:

    location / {
      if ($request_method = 'GET') {
        proxy_pass couchdb_backend;
      }
    }
    
        2
  •  15
  •   Mike Johnson    13 年前

    尝试使用limit_except指令。最好避免使用 if 因为 if is evil .

    limit_except GET {
      deny   all;
    }
    

    Reference