我有一个nginx配置,从prod到dev不等。我目前正在使用map
来梳理基于$host
和$server_name
的差异,但我似乎无法变量的一件事就是解析器。就目前而言,我必须设置${RESOLVER}
并在运行时使用envsubst
替换它,如下所示:
CMD /bin/bash -c "envsubst '\$RESOLVER' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && cat /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
使用配置文件(代码段),如
location /auth_website {
internal;
${RESOLVER}
set $backend_upstream "http://$upstream_host/blah/$uuid";
proxy_pass $backend_upstream;
include 'includes/common_auth.conf';
}
有没有办法根据文件中的$host
,$server_name
或env var动态设置解析器?感觉不行,但我想我会问。