一尘不染

nginx:使用环境变量

docker

我有以下情形:我$SOME_IP定义了一个env变量,并想在nginx块中使用它。参考nginx文档,envnginx.conf文件中使用伪指令,如下所示:

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


阅读 1451

收藏
2020-06-17

共1个答案

一尘不染

正确的用法是$SOME_IP_from_env,但是从nginx.conf设置的环境变量不能在服务器,位置或http块中使用。

如果使用openresty包(包括Lua),则可以使用环境变量。

2020-06-17