http - 使用 LE 集成设置 Traefik - 错误太多重定向/302

标签 http docker-compose lets-encrypt traefik http-status-code-302

我一直在关注 Traefik 和 LE 集成的示例以及 SmartHomeBeginner 上的示例,尽管我一直无法让 Traefik 通过 https 在子域上工作。我可以在带有端口号的 IP 地址上看到后端,但这并不理想。

当我在浏览器中查看 HTTPS 页面时,我不断收到 ERR_TOO_MANY_REDIRECTS,并且我已经确认在 Linux 中执行简单的 wget 失败,并且在 20 次重定向后出现 302 错误和重大失败。

我看不出哪里错了...

####### Docker Compose ##########
version: "3.6"
services:
  traefik:
     image: traefik:1.7.4
     container_name: traefik
     command: --api --docker
     restart: always
     ports:
       - 80:80
       - 443:443
     environment:
       - CLOUDFLARE_EMAIL=${CLOUDFLARE_EMAIL}
       - CLOUDFLARE_API_KEY=${CLOUDFLARE_API_KEY}
     networks:
       - traefik_proxy
     labels:
       - "traefik.enable=true"
       - "traefik.backend=traefik"
       - "traefik.frontend.rule=Host:traefik.${DOMAINNAME}" 
       - "traefik.port=8080"
     volumes:
       - /var/run/docker.sock:/var/run/docker.sock
       - ${USERDIR}/docker/traefik/traefik.toml:/traefik.toml
       - ${USERDIR}/docker/traefik/acme/acme.json:/acme.json
       - ${USERDIR}/docker/shared:/shared

###### traefik.toml ######

logLevel = "DEBUG" #DEBUG, INFO, WARN, ERROR, FATAL, PANIC

defaultEntryPoints = ["https","http"]

[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
    entryPoint = "https"
  [entryPoints.https]
  address = ":443"
  [entryPoints.https.tls]

[docker]
endpoint = "unix:///var/run/docker.sock"
watch = true
exposedByDefault = false

[acme]
email = "email"
storage = "/acme.json"
entryPoint = "https"
# remove below line when happy its all working fine - dev LE certs
caServer="https://acme-staging-v02.api.letsencrypt.org/directory"

#create certificate when container is created
[acme.dnsChallenge]
   provider = "cloudflare"
   delayBeforeCheck = 0
[[acme.domains]]
   main = "xxxx.com"
[[acme.domains]]
   main = "*.xxxx.com"

提前致谢。

最佳答案

我已经设法弄清楚我遗漏了什么,traefik.toml 和 docker-compose 文件都正常,唯一的问题是 Cloudflare 设置为“灵活”但必须像我一样设置为“关闭”尝试改用 LE 证书,然后就可以了。请参阅链接以供引用:s3 and cloudflare flexible ssl handshakes

关于http - 使用 LE 集成设置 Traefik - 错误太多重定向/302,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53082591/

相关文章:

go - 如何为 gRPC TLS 连接设置 docker-compose 容器?

docker - 使用 docker-compose 设置容器时区

ssl - Istio Kubernetes Ingress 与 Cert-Manager : no matches for kind "Certificate" in version "certmanager.k8s.io/v1alpha1"

ssl - ISPConfig LetsEncrypt SSL

python - 解析 HTML 时如何处理重定向? - Python

http - POST 请求是如何构造的?

javascript - 未在浏览器中设置响应 header 中的 Set-Cookie

docker - 如何在Docker Compose中从服务器设置环境变量?

ruby-on-rails - Docker(docker-compose)应用程序容器中的 LetsEncrypt 不起作用

Android - AsyncTask 完成后在 MainActivity 中执行某些操作