【问题标题】:nginx query param interpolationnginx 查询参数插值
【发布时间】:2021-06-14 19:53:04
【问题描述】:

我有以下指令,它在本地 docker 容器上运行时运行良好,但是当我在 Beanstalk 的 nginx 上运行它时,所有 $arg__myvars 都显示为空白。

add_header          Link '<https://$host/api/oembed/?format=json&url=https%3A%2F%2Fwww.mysite.com%2Fshare%3F_did%3D$arg__did%26_ddid%3D$arg__ddid%26_dv%3D$arg__dv>; rel="alternate"; type="application/json+oembed"; title="$arg__title"';

我正在向两者发送完全相同的 curl,并且我可以在 nginx 日志中看到查询字符串 args...所以它不像它们丢失或任何东西:

172.70.114.17 - - [14/Jun/2021:20:19:13 +0000] "GET /path/foo?_did=dd0c6fed-b6a8-4c79-8d34-c99336acced3&_ddid=9dadb08b-f8e0-4707-b6cb-06efb9530f24 HTTP/1.1" 200 4404 "-" "curl/7.68.0" "x.x.x.x" 

http://nginx.org/en/docs/http/ngx_http_core_module.html#var_arg_

有人见过这样的事情吗?

【问题讨论】:

    标签: nginx


    【解决方案1】:

    试了很多次终于找到了解决办法……

    我在位置块的下方有一个重写规则。

    事实证明,不仅重写会更改 arg_ 内置变量,而且配置中指令的顺序完全不相关 - 重写总是发生在任何变量初始化之前。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 2017-12-28
    • 2017-01-18
    • 2012-03-13
    • 2017-06-03
    • 1970-01-01
    • 2013-09-04
    相关资源
    最近更新 更多