我有以下情形:我$SOME_IP定义了一个env变量,并想在nginx块中使用它。参考nginx文档,我env在nginx.conf文件中使用伪指令,如下所示:
$SOME_IP
env
nginx.conf
user www-data; worker_processes 4; pid /run/nginx.pid; env SOME_IP;
现在我想将变量用于proxy_pass。我尝试如下所示:
proxy_pass
location / { proxy_pass http://$SOME_IP:8000; }
但我最终收到以下错误消息: nginx: [emerg] unknown "some_ip" variable
nginx: [emerg] unknown "some_ip" variable
正确的用法是$SOME_IP_from_env,但是从nginx.conf设置的环境变量不能在服务器,位置或http块中使用。
$SOME_IP_from_env
如果使用openresty包(包括Lua),则可以使用环境变量。