我有以下情況:我有一個env變量$SOME_IP
定義,並希望在nginx塊中使用它。談到nginx documentation我用env
指令在nginx.conf
文件類似如下:nginx:使用環境變量
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
謝謝!但是沒有選擇使用在服務器塊中'nginx.conf'中定義的變量嗎? – schickling
在服務器塊中,您使用語法'set $ var「value」;',然後在整個配置中引用$ var。但是你不能使用env變量。 –
爲人們節省了一些時間(以上需要自定義構建),您可以使用模板和名爲envsubst的工具http://serverfault.com/a/755541/116508爲docker做了這個工作,並且它可以工作,只需指定env變量或者你可能會無意中清除nginx中的變量,例如'''$ host''' – Louis