我有两个
iKaaro实例在端口8080和9080上运行,其中9080实例是只读。
我不确定如何使用Nginx,如果请求方法是POST,PUT,DELETE然后发送到写实例(8080)否则发送到9080实例。
我使用正则表达式使用该位置,但这是不正确的。
从http://wiki.nginx.org/HttpLuaModule我看到有可以调用的“HTTP方法常量”,所以添加一个位置块是正确的:
location ~* "(ngx.HTTP_POST|ngx.HTTP_DELETE|ngx.HTTP_PUT)" { proxy_pass http://127.0.0.1:8080;
谢谢
解决方法
我刚刚做了一个快速测试,这对我有用:
server { location / { # This proxy_pass is used for requests that don't # match the limit_except proxy_pass http://127.0.0.1:8080; # For requests that *aren't* a PUT,POST,or DELETE,# pass to :9080 limit_except PUT POST DELETE { proxy_pass http://127.0.0.1:9080; } } }