nginx作为反向代理来限制http动词访问

所以我有一个使用CouchDB作为后端的应用程序。 沙发实际上还没有安全/用户模型,默认情况下,任何人都可以做任何事情(包括删除logging甚至整个数据库)。 但是,如果我们限制访问GET请求,我们更安全。

我希望我可以把nginx作为一个反向代理,但我找不到一个选项,让你过滤请求基于动词进来。庞德这样做,所以我想要去那条路线,但我们已经广泛使用nginx,不必在混合中添加其他技术。 任何人都知道是否有一个select,会让这发生?

我甚至会解决Apache中的mod_proxy选项。 有任何想法吗?

您可以从$request_method变量中访问HTTP请求类型。 所以:

 location / { if ($request_method = 'GET') { proxy_pass couchdb_backend; } } 

尝试使用limit_except指令。 if因为如果是邪恶,最好避免使用。

 limit_except GET { deny all; } 

参考