如何解决在反向代理和服务之间使用 HTTPS 进行通信
我已经看到许多示例展示了如何加密终止于反向代理的请求,但我还没有看到在将请求转发到服务之前重新加密请求的工作示例。
我正在使用 traefik v2.4 和自签名证书。我可以通过端口 443 代理我主机上的所有内容,但我的每个服务仍然通过纯文本公开在我的内部网络上。
基本上:
客户端 traefik 服务
我想要这个:
客户端 traefik https --> 服务
我在 docker-compose.yml
文件中使用 CLI 参数和标签来配置 Traefik:
misp:
image: misp:latest
build:
context: ./services/misp
environment:
- USE_SSL=enabled
networks:
- my_proxy
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.services.misp.loadbalancer.server.port=80" # <-- I'm trying to reference the MISP container's port here
- "traefik.http.services.misp.loadbalancer.server.scheme=https" # <-- Can I do this to force the MISP container to use HTTPS?
- "traefik.docker.network=my_proxy"
# HTTPS
- "traefik.http.routers.misp-secured.rule=Host(`misp.localhost`)"
- "traefik.http.routers.misp-secured.entrypoints=proxy"
- "traefik.http.routers.misp-secured.tls=true"
volumes:
- ./certs:/certs # Do I need to map self-signed certs here?
traefik:
image: traefik:latest
restart: always
ports:
- "443:443"
command:
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --providers.docker.watch=true
- --providers.docker.swarmMode=true
- --providers.file.filename=/dynamic.yml
- --providers.file.watch=true
- --providers.docker.network=my_proxy
- --entrypoints.proxy-secured.address=:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./dynamic.yml:/dynamic.yml
- ./certs:/certs
networks:
- my_proxy
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。