这是我的目标,我想在我的服务器上设置反向代理。我曾经使用Haproxy做这项工作,但我想尝试Traefik。
首先,我想获得Traefik的仪表板页面。它几乎可以工作,弹出窗口似乎输入我的凭据,但即使我确信凭据是正确的,它也总是失败。
这是我的traefik.toml
df1 %>%
mutate(count = sapply(1:nrow(df1),function(idx){sum(lapply(df2,function(column){!is.na(column) & column == df1$`column 1`[idx]} ) %>% Reduce(`|`,., init = FALSE) & lapply(df2,function(column){!is.na(column) & column == df1$`column 2`[idx]} ) %>% Reduce(`|`,., init = FALSE))})) %>%
filter(count > 0)
column 1 column 2 count
1 3 4 1
这是我的docker命令来运行容器
defaultEntryPoints = ["http", "https"]
# Web section is for the dashboard interface
[web]
address = ":8080"
[web.auth.basic]
users = ["admin:aaa"]
# entryPoints section configures the addresses that Traefik and the proxied containers can listen on
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
正如您所看到的,我的凭据是admin:aaa,每当我尝试将它们输入对话框时,它都会向我发送以下消息:
docker run -d \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $PWD/traefik.toml:/traefik.toml \
-v $PWD/acme.json:/acme.json \
-p 80:80 \
-p 443:443 \
-l traefik.frontend.rule=Host:monitor.firelabs.fr \
-l traefik.port=8080 \
--network proxy \
--name traefik \
traefik:1.3.6-alpine --docker --logLevel=DEBUG
正如您所看到的,这是一个非常基本的配置,只是开始使用Traefik。所以我不知道我哪里错了,我查看了关于网页部分配置的文档,它似乎没有错...
我是否错过了拼写错误的内容?
答案 0 :(得分:3)
Traefik将密码存储为md5哈希,而不是纯文本。您可以使用htpasswd生成:
$ htpasswd -nb admin aaa
admin:$apr1$DWU.kdcZ$iqwGcFl9bfwp1WfKHE2yl.
所以你的traefik.toml文件看起来像是:
[web.auth.basic]
users = "admin:$apr1$DWU.kdcZ$iqwGcFl9bfwp1WfKHE2yl."