Traefik 失败 https 重定向
Posted
技术标签:
【中文标题】Traefik 失败 https 重定向【英文标题】:Traefik failing https redirection 【发布时间】:2020-06-30 09:11:54 【问题描述】:我有一个使用 traefik 1.7 的 docker-compose 作为我网站的代理。我的网站服务器是 Next.js。在我的其他应用程序上使用相同的配置时,我无法执行 http 到 https 重定向。
这是我的 docker-compose.yml :
version: '2'
services:
proxy:
image: traefik:1.7
restart: always
command: |-
--logLevel=DEBUG
--web
--entrypoints='Name:http Address::80 Redirect.EntryPoint:https Redirect.Permanent:true'
#--entrypoints='Name:http Address::80'
--entrypoints='Name:https Address::443 TLS'
--docker
--acme
--acme.entrypoint=https
--acme.email=test@mail.com
--acme.storage=/etc/traefik/acme.json
--acme.ondemand=false
--acme.onhostrule=true
--acme.httpChallenge.entryPoint=http
networks:
- default
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik:/etc/traefik/
website-preprod:
image: registry/taggedimage
restart: always
labels:
- "traefik.backend=my-website"
- "traefik.frontend.rule=Host:domainname.com"
- "traefik.docker.network=root_default"
- "traefik.frontend.entryPoints=http,https"
- "traefik.port=3000"
environment:
- HTTPS_CERT=server/certificates/dev.crt
- HTTPS_KEY=server/certificates/dev.key
- HTTP2=false
- API_ENDPOINT=https://api.domainname.com/api
- HTTPS=true
depends_on:
- proxy
networks:
- default
- inner
networks:
inner:
driver: bridge
internal: true
Https 有效,但从 http 到 https 的重定向无效。 Traefik 日志似乎没问题,只是它根本不重定向。
【问题讨论】:
【参考方案1】:看来评论#--entrypoints='Name:http Address::80'
是那里的问题。由于 docker-compose 被翻译成命令行,这一行打破了重定向的前一行。
【讨论】:
以上是关于Traefik 失败 https 重定向的主要内容,如果未能解决你的问题,请参考以下文章