加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua – nginx proxy_pass是基于请求方法是POST,PUT还是DELETE

发布时间:2020-12-15 00:22:05 所属栏目:大数据 来源:网络整理
导读:我有两个 iKaaro实例在端口8080和9080上运行,其中9080实例是只读。 我不确定如何使用nginx,如果请求方法是POST,PUT,DELETE然后发送到写实例(8080)否则发送到9080实例。 我使用正则表达式使用该位置,但这是不正确的。 从http://wiki.nginx.org/HttpLuaMo
我有两个 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;
    }
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读