首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >traefik docker x-forwarded-for循环

traefik docker x-forwarded-for循环
EN

Stack Overflow用户
提问于 2018-02-06 23:13:31
回答 2查看 1.5K关注 0票数 0

我在使用docker + rancher + traefik时遇到了问题。

后端被发现得很好,它可以与2个牧场主一起工作。但时不时地,当我访问traefik后台托管的my网站时,我有一个docker,它做了很多io等待和traefik日志脱落日志,比如:

代码语言:javascript
复制
my-internal-proxy-2     | 2018-02-06T15:03:15.500664406Z time="2018-02-06T15:03:15Z" level=debug msg="vulcand/oxy/forward: begin ServeHttp on request" Request="{"Method":"GET","URL":{"Scheme":"http","Opaque":"","User":null,"Host":":80","Path":"","RawPath":"","ForceQuery":false,"RawQuery":"","Fragment":""},"Proto":"HTTP/1.1","ProtoMajor":1,"ProtoMinor":1,"Header":{"Accept":["*/*"],"Accept-Encoding":["gzip"],"User-Agent":["curl/7.47.0"],"X-Forwarded-For":["public.ip.xx, 10.4.2.116, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1, 127.0.0.1....

为什么我会得到这个?它每天都会崩溃,并且找不出为什么x-forwarded for是127.0.0.1。有什么想法吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-07 16:34:42

我在我的toml中遗漏了重定向子句[entryPoints.http.redirect],下面是正确的toml配置:

代码语言:javascript
复制
[entryPoints]
 [entryPoints.http]
  address = ":80"
  [entryPoints.http.redirect]
   entrypoint = "https"
 [entryPoints.https]
  address = ":443"
  [entryPoints.https.tls]

非常感谢traefik对Idez的支持;)

票数 0
EN

Stack Overflow用户

发布于 2018-02-07 00:10:06

以下是更多详细信息:最新的docker-ce使用toml:

代码语言:javascript
复制
debug = true
logLevel = "ERROR"
defaultEntryPoints = ["http", "https"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[web]
address = ":8080"
[docker]
[acme]
email = myemail@mydomain.com"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
caServer = "https://acme-staging.api.letsencrypt.org/directory"
[acme.dnsChallenge]
provider = "ovh"
delayBeforeCheck = 0

docker-在牧场中撰写:

代码语言:javascript
复制
  version: '2'
services:
  proxy:
    image: traefik:v1.5.1
    ports:
      - "443:443"
      - "8080:8080"
      - "80:80"
    command: --web --accessLog --constraints=tag==internal --rancher --rancher.exposedbydefault=false --rancher.metadata=true --logLevel=DEBUG
    volumes:
      - /data/traefik/traefik.toml:/etc/traefik/traefik.toml
      - /data/traefik/acme.json:/etc/traefik/acme/acme.json
      - /var/run/docker.sock:/var/run/docker.sock
    labels:
      - "traefik.frontend.entryPoints=http,https"
      - "io.rancher.container.agent.role: internal"
      - "environment io.rancher.container.create_agent: true"
    environment:
      - OVH_ENDPOINT=ovh-eu
      - OVH_APPLICATION_KEY=xxxx
      - OVH_APPLICATION_SECRET=xxxx
      - OVH_CONSUMER_KEY=xxx

  mediawiki:
    image: mediawiki:stable
    volumes:
            -
 /data/mediawiki/LocalSettings.php:/var/www/html/LocalSettings.php
      - /var/www/html/images/
    labels:
      - "traefik.frontend.entryPoints=http,https"
      - "traefik.backend=mediawiki"
      - "traefik.frontend.rule=Host:wiki.mydomain.com"
      - "traefik.enable=true"
      - "traefik.port=80"
      - "traefik.tags=internal"
      - "traefik.backend.loadbalancer.stickiness=true"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48646205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档