Linux 如何隐藏nginx.conf授权凭据?

Linux 如何隐藏nginx.conf授权凭据?,linux,docker,nginx,nginx-reverse-proxy,nginx-config,Linux,Docker,Nginx,Nginx Reverse Proxy,Nginx Config,为了快速解释,我在Docker中运行了一个nginx服务器,充当我的Flask web应用程序的反向代理。我的一部分配置是使用proxy\u set\u header Authorization将一些凭证传递到proxy\u pass网站 这一切都很好——但是,我想把所有这些东西都推到GitHub上,当然也不想让我的信用卡(无论是否编码)出现 我最好的选择是什么?我所能想到的就是有一些类似于dotenv的东西,但是对于nginx.conf文件,而不是.py文件 有人知道我可以做些什么来传递我的信

为了快速解释,我在Docker中运行了一个nginx服务器,充当我的Flask web应用程序的反向代理。我的一部分配置是使用
proxy\u set\u header Authorization
将一些凭证传递到
proxy\u pass
网站

这一切都很好——但是,我想把所有这些东西都推到GitHub上,当然也不想让我的信用卡(无论是否编码)出现

我最好的选择是什么?我所能想到的就是有一些类似于dotenv的东西,但是对于nginx.conf文件,而不是.py文件


有人知道我可以做些什么来传递我的信任,但不在配置中显式地硬编码它们吗?

您可以使用另一个配置文件通过NGINX使用
set
创建变量,并将此文件添加到gitignore

conf.d/creds.include

set $apiuser "user";
set $apipass "pass";

app.conf

server {
include conf.d/creds.include;
...
location / {
  proxy_pass ...
  proxy_set_header "Authorization: $apiuser:apipass"
}
}

您应该在您的回购自述中提到这一点,任何人都知道如何使用它。

这似乎是最好的主意,但我已经尝试了许多不同的sytnaxes,但仍然无效。请在您的原始帖子中分享您的nginx配置。我会用这个做模板嘿Timo Stark。我在这里再次问了这个问题: