我有以下场景:我定义了一个 env 变量 $SOME_IP
并想在 nginx 块中使用它。参考 nginx 文档,我在 nginx.conf
文件中使用了 env
指令,如下所示:
user www-data;
worker_processes 4;
pid /run/nginx.pid;
env SOME_IP;
现在我想将变量用于 proxy_pass
。我尝试如下:
location / {
proxy_pass http://$SOME_IP:8000;
}
但我最终得到这个错误消息: nginx: [emerg] unknown "some_ip" variable
原文由 schickling 发布,翻译遵循 CC BY-SA 4.0 许可协议
正确的用法是
$SOME_IP_from_env
,但是从 nginx.conf 设置的环境变量不能用于服务器、位置或 http 块。如果您使用包含 Lua 的 openresty 包,则可以使用环境变量。