【问题标题】:Using nginx to redirect dynamic request使用nginx重定向动态请求
【发布时间】:2018-06-19 23:27:30
【问题描述】:

我有一个 druid 服务,它在我的本地机器的 8082 端口上运行,如下所示:

Method POST: http://localhost:8082/druid/v2/?pretty
Body:
{
  "queryType" : "topN",
  "dataSource" : "some_source",
  "intervals" : ["2015-09-12/2015-09-13"],
  "granularity" : "all",
  "dimension" : "page",
  "metric" : "edits",
  "threshold" : 25,
   "filter": {
    "type": "and",
    "fields": [
      {
        "type": "selector",
        "dimension": "pix_id",
        "value": "1234"
      }
  }
}

点击这个查询会给我一个基于维度“pix_id”的记录列表。

现在,我想设置一个 nginx,这样外部应用程序就不应该对我的 druid 服务有任何线索。我只想让外部应用程序访问 URL:

http://localhost:80/pix_id/98765

这个 url 应该动态生成一个带有上述 pix_id 的 JSON 并向 druid 发送请求并将响应返回给用户。

在 nginx 中可以做到这一点吗?

【问题讨论】:

    标签: nginx nginx-reverse-proxy druid


    【解决方案1】:

    是的,你可以这样做,但我建议在两者之间使用 php 或 python 脚本来给出结果。

    所以设置将是 -

    1. 让php页面接收请求。
    2. 在本地从 php 向 druid 进行 curl 调用。
    3. 获取结果并传递响应。

    这样做有很多好处,例如。 -

    1. 你完全掩盖了德鲁伊,不一定限于德鲁伊。
    2. 在将请求发送给 druid 之前,您可以在 php 中进行更多计算。
    3. 在 php 端缓存。

    【讨论】:

      猜你喜欢
      • 2016-10-10
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 2012-07-08
      • 2017-05-05
      • 2019-12-16
      • 2016-09-18
      • 1970-01-01
      相关资源
      最近更新 更多