nginx HttpEchoModule让我可以访问各个nginx变量:
location /whathost {
echo "This host is $http_host";
}
我希望看到每个可用的变量及其值,类似于bash中set
(w / o args)的输出。
这可能吗?
答案 0 :(得分:0)
我认为没有一种内置的方式来显示所有变量。但是如果你看一下源代码,它们似乎被定义为: SRC / HTTP / ngx_http_variables.c
寻找ngx_string
。这是打印它们的一些方法:
awk -F\" '/[^\w]ngx_string[^\w]/ {printf "%s:\t$%s\n", $2, $2}' src/http/ngx_http_variables.c
然后你可以编写自己的set函数:
location = /set {
default_type text/plain;
return 200 "
# insert awk output here <-
";
}
您可以在此处找到来源: http://hg.nginx.org/nginx
或者你可以看到我在这里找到的变量: http://pastie.org/9992530