问题标签 [traefik]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 码头工人:gitlab + traefik & 端口 22
我需要在 Traefik 后面设置 Gitlb。
除了通过命令行对应用程序进行身份验证外,一切正常 - 我不知道如何通过 traefik 公开端口 22。
知道如何设置吗?如何暴露 docker 容器的 22 端口(通过 traefik)?
我将默认端口从 22 更改为 10022。
我正在通过netstat -tulpn
我不明白为什么 10022 连接到 docker-proxy。
当我尝试:
非常感谢
docker - Traefik http 使用 docker 标签重定向到 https
我在群模式下使用 traefik 作为 docker 服务。Traefik 接受一些标签来配置它将如何处理 docker 容器并为其创建代理。
我可以traefik.frontend.entryPoints=https
在 docker 服务中定义一个标签来覆盖 Traefik defaultEntryPoints
,但用户需要使用https
. 我想公开入口点,http
并且https
,但是如果用户使用 发出请求http
,Traefik 会将其重定向到https
.
是否可以entryPoints.http.redirect
用作 docker 标签来强制重定向某些特定服务?我不想将它设置在traefik.toml
文件中,因为它将应用于所有服务,我希望它只是一些服务,而不是所有服务。
问候
traefik - 将流量直接传递到容器以回答 Traefik 中的 LetsEncrypt 挑战
我有一个基于https://github.com/silvio/docker-matrix的容器(“矩阵”) (尽管这可能并不重要)。
它在端口 8448 和 3478(不是 80 或 443)上运行服务。
不运行 traefik,只运行 'matrix' 容器,在 'matrix' 容器内,我可以运行 LetsEncrypt 的 certbot,它的请求告诉 LetsEncrypt 尝试在端口 443 上与我联系并提供 ssl 证书,如下所示:
certbot certonly --standalone --test-cert --email admin@amazing.site --agree-tos -d m.amazing.site
提出挑战,接受挑战,证书保存在容器的 dir /etc/letsencrypt 中。
好的,现在我想在运行 Traefik 时执行此操作。
我在我的 docker-compose 文件中为这个容器传递了我的 Traefik 参数,如下所示:
当我在容器中运行挑战时(与上面相同的命令)
certbot certonly --standalone --test-cert --email admin@amazing.site --agree-tos -d m.amazing.site
我在我的 Traefik 日志中得到以下信息
time="2017-07-14T01:04:35Z" level=error msg="获取证书时出错:找不到域 b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid 的质询证书,重试时间为 453.949201ms" :04:35Z" level=error msg="获取证书时出错:找不到域 b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid 的质询证书,重试 808.788592ms" time="2017-07-14T01:" msg="获取证书时出错:找不到域 b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid 的质询证书,在 1.138006833s 中重试" time="2017-07-14T01:04:37Z 无法获取证书" level=error查找域 b374a9118f855cacdb0096846a3dfa0c 的挑战证书。f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid, retrying in 2.436785791s" time="2017-07-14T01:04:40Z" level=error msg="Error getting cert: Cannot find challenge cert for domain b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid, retrying in 3.055167113s" time="2017-07-14T01:04:43Z" level=error msg="获取证书时出错:找不到域 b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid, 重试证书的质询证书。 07-14T01:04:48Z" level=error msg="获取证书时出错:找不到域 b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid 的质询证书,正在重试 7.5448786511s" time="201:50-147"T level=error msg="获取证书时出错:Cannot find challenge cert for domain b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid, retrying in 6.313970727s" time="2017-07-14T01:05:01Z" level=error msg="Error getting cert: Cannot find challenge cert for domain 8b1e27af665c4676b47236f25c3ccc73. 1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" time="2017-07-14T01:05:01Z" level=debug msg="ACME got nothing 8b1e27af665c4676b47236f25c3ccc73.1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" 2017/07/14 01:05:01 server.go: 2753:http:来自 66.133.109.36:55264 的 TLS 握手错误:EOFCannot find challenge cert for domain 8b1e27af665c4676b47236f25c3ccc73.1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" time="2017-07-14T01:05:01Z" level=debug msg="ACME got nothing 8b1e27af665c4676b47236f25c3ccc73.1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" 2017/07/14 01 :05:01 server.go:2753: http: 来自 66.133.109.36:55264 的 TLS 握手错误:EOFCannot find challenge cert for domain 8b1e27af665c4676b47236f25c3ccc73.1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" time="2017-07-14T01:05:01Z" level=debug msg="ACME got nothing 8b1e27af665c4676b47236f25c3ccc73.1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" 2017/07/14 01 :05:01 server.go:2753: http: 来自 66.133.109.36:55264 的 TLS 握手错误:EOF
请注意,这些是真实的日志。没有提及我要验证的实际域名。
我究竟做错了什么?
session - Traefik 粘性会话在 docker swarm 中不起作用
我在 Traefik 反向代理中有一个问题:它使用自己的 cookie 来存储后端服务器 ip 地址,但有时这不能正常工作,因为 cookie 的路径不是'/'
,但它使用网页默认值,例如'/myapp/page'
。
我的问题是该应用程序还使用其他路径,例如'/myapp/api'
,但它被路由到另一个实例。
由于它是一个遗留应用程序,我无法将会话数据存储在其他外部会话存储中。我使用 docker swarm 来管理 docker 容器。
如何在 Traefik 中设置 cookie 的路径?
consul - traefik - 通过键/值存储对前端进行基本身份验证
如何通过键/值存储为前端设置基本身份验证,例如 docker 提供程序的标签“traefik.frontend.auth.basic”。
我检查了这个文件中的代码,现在可能不支持它。
我认为它很有用,我正在尝试在我的 fork 中实现,有什么建议吗?
marathon - 使用与后端端口不同的前端端口
我在服务前面有一个 traefik 实例。该服务在端口 9000 上运行。但是我希望端口 :8000 将请求代理到该服务。两人都跑马拉松。
我尝试使用traefik.port
标签,但是当我从 :8000/dashboard 的后端块判断时,它似乎假设后端也在 8000 上运行。
我还尝试了其他解决方案,例如
traefik.frontend.rule=Host:traefikhost:8000
没有成功
在这种情况下,文档真的不清楚
docker - Traefik 与 Docker 网络
我真的不明白如何将 traefik 与 docker 网络一起使用。
我尝试运行“wekan”看板。如果我将端口绑定到主机,它可以完美运行,所以它实际上是通过 traefik 处理它。这是我的码头配置:
我似乎找不到访问该死的东西的方法...您的回答将不胜感激,它不仅可以让我运行 Wekan,而且还可以更新我使用链接的旧服务:链接而不是 Docker网络 - 现在不推荐使用链接。
amazon-web-services - 在使用 kops 创建的 AWS 集群上通过入口使 k8s 服务可用
在使用 kubeadm 在一些 KVM 上尝试 kubernetes 之后,我想在 AWS 上使用kops设置一个适当的自动可扩展集群,并用它为一些网站提供服务。
令人惊叹的魔力kops create cluster ...
为我提供了一堆 ec2 实例,使 k8s API 可用,test-cluster.example.com
甚至配置我的本地~/.kube/config
,以便我可以kubectl apply -f any-stuff.yaml
立即使用。这太棒了!
我现在可以将我的部署发送到集群并配置入口规则——所有这些东西都在仪表板中可见。但是,目前还不清楚如何将集群中的节点与我拥有的域名相关联。
在我的小型 KVM k8s 中,我只需安装traefik并将其暴露在端口:80
和:443
. 然后我转到我的 DNS 设置并添加一些 A 记录,这些记录指向我的集群节点的公共 IP。在 AWS 中,有一组动态的虚拟机,当集群负载不重时,其中一些可能会停机。所以感觉我需要使用外部负载均衡器,因为我的traefik helm 图表服务公开了两个随机端口而不是固定的:80 和:443,但我不确定。
有什么选择?他们的成本是多少?如果域不受 AWS 控制,应该如何处理 DNS 记录?
docker - How to use whitelisting per container
I'm using traefik in docker-mode. It's retrieving most config (acme.domains, enabled, frontend-rules,...) from the docker containers.
Currently all containers are reachable from the WWW (0.0.0.0). I'm wondering how to restrict the access to a single container to some dedicated ip-addresses.
The docker labels of the private web-service would look like:
The whitelisted ip is in this case of course just an example. This could be any private ip-subnet.
Maybe it's possible to set a frontend-rule which bases on "client.ip"?
Thanks for your help!
regex - 主机正则表达式失败
我正在尝试将 Traefik HostRegexp 用于前端规则。我正在尝试这样的事情:
但这不像我想要的那样工作。
当使用这些 URL 时,我希望 traefik 路由到我的 apache 服务器:
A.B.C.pXX.env1.mydomain.com
A.B.C.pXX.env2.mydomain.com
有什么线索吗?我的正则表达式做错了什么?