您好我将HTTP请求重定向到HTTP时遇到问题,当traefik在docker中运行时我已经映射了端口 .
我正在运行traefik(CentOS上的v1.5.4作为docker服务 . 我用来启动docker-compose.yml(docker stack deploy)看起来像这样
# use docker stack deploy to start a service running traefik
version: '3.6'
services:
proxy:
image: traefik
command: --api --logLevel=DEBUG
networks:
- proxy
ports:
- "70:80"
- "7443:443"
- "7070:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/frank/docker/traefik/traefik.toml:/etc/traefik/traefik.toml
在docker中映射端口的原因是,在我的开发系统中,我希望与现有的apache并行运行traefik .
在我的traefik.toml文件中,我尝试从端口80重定向到443 .
[entryPoints]
# Port 80 (HTTP) is redirected to PORT 443 (HTTPS)
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
在添加HTTPS证书之前,我想测试重定向 . 那没起效 .
我向 http:/server.net:70/xxx 发送了一个请求 . 我得到了重定向 http:/server.net:443/xxx . 我需要或期望的是我将被重定向到 http:/server.net:7443/xxx . 因此我的请求不会重定向到我的应用程序
有没有办法让这种情况发生?我想我可以在toml文件中重定向到端口7443.但是,我不喜欢这个解决方案,从那时起我将在traefik配置中使用来自docker配置的信息 . 我宁愿让它们尽可能独立?