我尝试在nginx.conf中添加一个proxy_pass
location /example/ {
proxy_pass http://example.com;
}
但是,我不想在conf文件中对http://example.com进行硬编码,而是希望在环境变量中使用此值。
如何在nginx.conf中使用环境变量?或者有没有更好的方法,nginx没有外部配置?
如果你想将纯环境变量放入nginx配置中,你需要在Lua语言中实现一些代码:
https://blog.doismellburning.co.uk/environment-variables-in-nginx-config/
如果您对此NGinx没有高负载,我建议实施上述解决方案。
在我的特定情况下,为了减少CPU负载,我更喜欢使用带有变量的分隔文件和rc.local
(或dockerfile)中的脚本来在我的机器进行lauching时更改这些文件。
conf.d / exemple.conf
include backends/exemple.host;
location ~ ^/exemple {
proxy_pass $exemple;
}
后端/ exemple.host
set $exemple {BACKEND};
在rc.local
sed -i "s@set \$checkout.*@set \$checkout $HOSTNAME\;@" /etc/nginx/backends/exemple.host
到最后一个解决方案工作,我需要在O.S.上更改NGinx启动顺序。