traefik - 通过键/值存储进入入口点的基本身份验证

时间:2017-06-12 16:17:43

标签: consul traefik

我想通过键/值存储(在我的情况下是consul)为我的一个入口点配置基本身份验证。但是traefik似乎忽略了这些指令。

我尝试了以下配置:

traefik/entrypoints/http/auth/basic/users = ["test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"]


traefik/entrypoints/http/auth/basic/users = test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/


traefik/entrypoints/http/auth/basic/users/0 = test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/

我收到以下错误

-------------------------------------
/var/log/containers/traefik-c9f95e2d3a98-stdouterr.log
-------------------------------------
2017/06/12 15:58:34 Error loading configuration: 1 error(s) decoding:

* error decoding 'EntryPoints[http].Auth.Basic.Users': illegal base64 data at input byte 5

如果指定键/值存储...

,似乎会忽略toml文件

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我弄清楚出了什么问题。

如果您提供像consul这样的键/值存储,它将覆盖配置文件中的配置。

存储基本身份验证用户的正确密钥或路径如下所示

traefik/entrypoints/http/auth/basic/users/0

并且您是用户名的值和由冒号

分隔的哈希
test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/

如果您收到有关base64编码的上述错误消息,则必须使用$转义$,以使您的哈希看起来像$$apr1$$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/