如何解决是否可以动态多次重定向到 1 个容器?
我目前正在使用 nginx-proxy 和 docker-letsencrypt-nginx-proxy-companion 重定向到使用 docker-swarm 容器化和部署的网络应用程序。
因此,当我调用 https://www.my-app.my-domain.com
时,我会在浏览器上显示我的网络应用程序。
这个网络应用程序是一个多租户应用程序,我想使用子域来访问每个客户端。
这是它的意思:
- 租户 A(代码 aaa)将调用
https://www.aaa.my-app.my-domain.com
- 租户 B(代码 bbb)将调用
https://www.bbb.my-app.my-domain.com
Web 应用程序将处理(通过解析主机名或通过检查标题)它是哪个租户,因此仅显示相关数据。
第一个问题:如何做到这一点?
第二个问题:我们是否还可以添加规则以在调用中添加标题(如 X-Tenant=aaa
)?
这是一个简单的 docker-stack 文件,显示了我使用的配置:
version: '3.7'
services:
nginx-proxy:
image: jwilder/nginx-proxy:alpine-0.7.0
deploy:
mode: replicated
replicas: 1
ports:
- 80:80
- 443:443
networks:
- my-network
volumes:
- dhparam:/etc/nginx/dhparam
- certs:/etc/nginx/certs:ro
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
labels:
- com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy
nginx-proxy-letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion:v1.13
deploy:
mode: replicated
replicas: 1
depends_on:
- nginx-proxy
networks:
- my-network
volumes:
- certs:/etc/nginx/certs:rw
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
DEFAULT_EMAIL: my-mail@gmail.com
my-app:
image: my/app:X.Y.Z
deploy:
mode: replicated
replicas: 1
networks:
- my-network
environment:
VIRTUAL_HOST: www.my-app.my-domain.com
LETSENCRYPT_HOST: www.my-app.my-domain.com
volumes:
dhparam:
vhost:
html:
certs:
networks:
my-network:
external: true
name: my-network
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。