标签: traefik

为什么 Traefik 2.0 没有检测到我指定的默认静态证书,而是自己生成一个?

在我最初尝试将基于 docker-swarm 的 Traefik 安装从 1.7 迁移到 2.0 时,我发现 traefik.toml 配置文件中默认静态指定的 SSL 配置被忽略,并且启用调试后,我的 docker 日志显示了许多类似的消息:

time="2019-11-06T20:26:30Z" level=debug msg="No default certificate, generating one"
Run Code Online (Sandbox Code Playgroud)

https docker-swarm traefik

3
推荐指数
1
解决办法
2684
查看次数

Traefik 2.0 TLS TCP 直通

我有一个 VM0,其中 Traefik 作为 Docker 运行,还有两个目标系统 VM1 和 VM2,它们都运行着 Web 服务器。

所有domainA.com 请求都应通过 TCP 路由器和 tls 直通发送至 VM1,因为此 Web 服务正在自行处理证书。

所有domainB.com 请求都应通过http 路由器发送至VM2,并且Traefik 应生成该域的tls 证书。

我现在的问题是,一旦我将任何 tls 配置添加到 http 路由器,tcp 直通似乎就不再起作用了。在日志中我看到以下消息:

time="2020-03-15T21:46:18Z" level=debug msg="为请求提供默认证书:\"subdomain.DomainA.com\"" time="2020-03-15T21:46:18Z" level= debug msg="http:来自 192.168.1.116:55103 的 TLS 握手错误:远程错误:tls:未知证书" time="2020-03-15T21:46:18Z" level=debug msg="为请求提供默认证书:\ “subdomain.DomainA.com\”” time =“2020-03-15T21:46:18Z”level = debug msg =“http:来自192.168.1.116:55104的TLS握手错误:远程错误:tls:未知证书”

如果我通过 Traefik 访问该网站,它会向我显示来自 Traefik 的自签名证书。

如果我删除 http 路由器下的所有 tls 设置,直通将再次工作。

我的动态文件:

http:
  routers:

    HTTProuter0:
      rule: "HostRegexp(`{subdomain:[a-z]+}.domainA.com`)"
      service: "domainA"
      entryPoints:
       - "websecure"
      tls:
        certResolver: "myresolver"
        domains:
         - main: "domainA.com" …
Run Code Online (Sandbox Code Playgroud)

ssl tcp traefik

3
推荐指数
1
解决办法
7665
查看次数

Traefik 基本身份验证

我最近开始将 Traefik 与 Docker 结合使用,我必须说它太棒了。我目前遇到的问题是,当我将基本身份验证中间件应用到 Traefik 仪表板,然后加载仪表板时,它不断地无限循环地提示我输入用户名和密码,而我永远无法访问仪表板。然而,它在没有基本身份验证的情况下工作得很好,我可以很好地加载我的仪表板。请问有人可以帮忙吗?在过去的几天里它一直让我发疯。请参阅下面我的示例。(注意密码散列我已经尝试过在开头有或没有额外的美元符号,但都不起作用)。先感谢您。

我的 Docker 撰写文件:

version: '3'
services:
  traefik:
    image: "traefik:v2.2"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/user/traefik/traefik.yml:/etc/traefik/traefik.yaml:ro
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.api.rule=Host(`traefik.com`)"
      - "traefik.http.routers.api.entrypoints=insecure"
      - "traefik.http.routers.api.service=api@internal"
      - "traefik.http.routers.api.middlewares=api-auth"
      - "traefik.http.middlewares.api-auth.basicauth.users=admin:$$..."
networks:
  default:
    external:
      name: "web"
Run Code Online (Sandbox Code Playgroud)

我的 Traefik.yml 文件

providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    network: "web" # Custom docker network
    exposedByDefault: false 

entryPoints:
  insecure:
    address: ":80"
  secure:
    address: ":443"

api:
  dashboard: true
Run Code Online (Sandbox Code Playgroud)

docker docker-compose traefik

3
推荐指数
1
解决办法
1万
查看次数

Kubernetes 上的 Traefik v2.0 自签名证书

我正在运行 Traefik ( v2.0 ) 作为我的 EKS 集群的入口网关。Traefik ingress 工作正常。
现在,我需要使用自签名证书为我的入口添加 https 支持。为此,我有:

  • 创建了从 http 到 https 重定向的 IngressRoute -> 这工作正常
  • 创建了一个包含我的自签名证书的密钥和证书的秘密
kubectl create secret tls tlssecret --key="eks.tls.key" --cert="eks.tls.crt"
Run Code Online (Sandbox Code Playgroud)
  • 将 tls 密钥添加到我的 IngressRoute 部署中:
  • apiVersion:traefik.containo.us/v1alpha1 种类:IngressRoute 元数据:名称:pulseingressroutetls 命名空间:pulse 规范:entryPoints:- websecure tls:secretName:pulsetlssecret
    路由:- 匹配:PathPrefix( /auth) ...

部署完成后,当我浏览入口 URL 时,它仍然向我显示 TRAEFIK DEFAULT CERT,而不是我的自签名证书。

请让我知道我在这里做错了什么?还有其他方法吗?

https kubernetes tls1.2 traefik traefik-ingress

3
推荐指数
1
解决办法
5640
查看次数

Traefik v2 - 启用 gzip 压缩

我正在使用 Traefik v2 运行 Docker 容器。该容器与 Nginx 一起提供服务,我需要在 Traefik v2 上启用 gzip 压缩。

我无法通过更改 Nginx app.config 文件来实现它。

我添加了这些类型的标签,但它不起作用。

gzip on;
gzip_types images, CSS, js etc.
Run Code Online (Sandbox Code Playgroud)

如何在 Traefik v2 上启用 gzip?

nginx docker docker-compose traefik

3
推荐指数
1
解决办法
4373
查看次数

如何将多台主机从 traefik 2 定向到一台 nginx

我想使用 traefik 2 将 test1.test 和 test2.test 路由到 nginx php 配置中的不同文件夹。两者都是 PHP 应用程序。

这是我的 nginx site.conf:

server {
    listen 80;

    server_name test1.test
    root /var/www/html/test1;
}
server {
    listen 80;

    server_name test2.test
    root /var/www/html/test2;
}
Run Code Online (Sandbox Code Playgroud)

这是 traefik 容器的 mij docker-compose 文件

version: "3"

services:
  traefik:
    image: "traefik:v2.3"
    container_name: "traefik"
    restart: "unless-stopped"
    security_opt:
      - no-new-privileges:true
    networks:
      - proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /etc/localtime:/etc/localtime:ro
      - ./traefik.toml:/traefik.toml:ro
      - ./acme.json:/acme.json
      - ./configurations:/configurations
networks:
  proxy:
    external: true
  internal:
    external: false
Run Code Online (Sandbox Code Playgroud)

以及我的应用程序的 …

php drupal nginx docker traefik

3
推荐指数
1
解决办法
8984
查看次数

如何配置traefik w / docker-compose为服务路由多个端口

我想通过docker-compose配置traefik以公开组件服务的多个端口。

例如,在为ember-cli应用提供服务时,如何同时公开主端口和实时重新加载端口以进行开发?

docker-compose traefik

2
推荐指数
1
解决办法
1726
查看次数

如何为traefik启用对数旋转?

如何为日志文件(例如access.log)启用日志轮转。

这是内置的吗?

文档只说“这允许日志由外部程序(例如logrotate)旋转和处理”

traefik

2
推荐指数
3
解决办法
1873
查看次数

基于路径的路由将Traefik问题作为Ingress Controller

我正在经历看起来像配置问题!我在kubernetes中使用traefik作为入口控制器,我有一个入口来路由一些URL以将一些前端路由到各种后端.假设我有这样的事情:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test
  annotations:
    kubernetes.io/ingress.class: traefik
    traefik.frontend.rule.type: ReplacePathRegex
spec:
  rules:
  - host: foo.io
    http:
      paths:
      - path: /api/authservice/(.*) /$1
        backend:
          serviceName: auth
          servicePort: 8901
      - path: /api/svcXXX/v1/files/cover/(.*) /v1/files/cover/$1
        backend:
          serviceName: files
          servicePort: 8183
      - path: /api/svcXXX/v1/files/image/(.*) /v1/files/image/$1
        backend:
          serviceName: files
          servicePort: 8183
Run Code Online (Sandbox Code Playgroud)

使用Postman(或任何其他客户端),如果我http://foo.io/api/authservice/auth/oauth/token在查看访问日志时发出请求,它似乎被路由到http://foo.io/api/svcXXX/v1/files/image/(.*) /v1/files/image/$1.我在访问日志中看到了这一点:

[03/Jul/2018:12:57:17 +0000] "POST /api/authservice/auth/oauth/token HTTP/1.1" 401 102 "-" "PostmanRuntime/7.1.5" 15 "foo.io/api/svcXXX/v1/files/image/(.*) /v1/files/image/$1" 37ms

难道我做错了什么 ?

kubernetes traefik kubernetes-ingress traefik-ingress

2
推荐指数
1
解决办法
2596
查看次数

Traefik: Unable to obtain ACME certificate for domains

I'm using traefik for providing some services on my NAS with https using lets encrypt. Now I noticed that the tls certs of my nextcloud installation expired yesterday evening. Traefik had logs like this:

time="2018-08-31T22:43:08Z" level=error msg="Error getting ACME client: ACME client still not built, retrying in 6.83135832s"
time="2018-08-31T22:43:15Z" level=error msg="Error getting ACME client: ACME client still not built, retrying in 12.680203952s"
time="2018-08-31T22:43:28Z" level=error msg="Error getting ACME client: ACME client still not built"
Run Code Online (Sandbox Code Playgroud)

I updated to v1.7 but now the …

ssl lets-encrypt traefik

2
推荐指数
1
解决办法
6619
查看次数