在 nginx 中根据环境变量动态创建多个反向代理

在 nginx 中根据环境变量动态创建多个反向代理

通常在 nginx 配置文件中,我可以使用反向代理将动态服务器数据重定向到另一台服务器,例如:

location /api {
    proxy_pass  http://dynamic_address;
}

location / {
    # redirect everything to show the main SPA application
    try_files $uri $uri/ /index.html;
    expires 7d;
}
location = /index.html { }

但是,如果我有多个重定向,如果我静态地给出它们,它们是:

location /api/entry {
    proxy_pass http://dynamic_entry:8433;
}
location /api/rover {
    proxy_pass http://dynamic_rover:8444;
}

location / {
    # redirect everything to show the main SPA application
    try_files $uri $uri/ /index.html;
    expires 7d;
}
location = /index.html { }

但是,我不希望对这些地址进行硬编码,而是需要根据环境变量来设置这些地址,其格式如下(格式可以不同):

dynamic_entry=/api/entry:dynamic_entry:8433;/api/rover:dynamic_rover:8444

我可以在不创建 bash(或运行其他语言如 php)的情况下在 docker 启动/服务器启动时修改配置文件吗?

相关内容