【问题标题】:Traefik rule need solution for sub domainTraefik 规则需要子域的解决方案
【发布时间】:2019-11-21 16:23:12
【问题描述】:

我想在 traefik 后面运行一个应用程序,而不是作为子域,而是像:xyz.abc.com/m1 或 xyz.abc.com/m2 等等。 哪个标签适合它。我尝试过使用 PathPrefix,但它不起作用。一个示例应用程序 Joomla 部署在 docker swarm mode 上。我可以使用 Nginx 或 Haproxy 吗?如果是这样,如何?

【问题讨论】:

    标签: docker nginx load-balancing haproxy traefik


    【解决方案1】:

    当将多个应用程序放在同一个名称后面时,应用程序很有可能需要知道它的 URL 前缀不在根目录(因为大多数应用程序都希望部署在根目录)。所以,可能也需要看看。

    在 Traefik 方面,堆栈文件可能如下所示。这是在 Swarm 模式下运行的(因为你提到了 Swarm),这需要 Traefik 标签在服务上,而不是在容器上。因此,它们必须在 deploy.labels 定义内,而不仅仅是 labels

    使用 Traefik 1 的示例

    version: "3.7"
    
    services:
      proxy:
        image: traefik:1.7
        command: --docker --docker.swarmMode
        ports:
          - 80:80
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
    
      app1:
        image: your-image-for-app1
        deploy:
          labels:
            traefik.backend: app1
            traefik.frontend.rule: PathPrefix:/m1
            traefik.port: 80
    
      app2:
        image: your-image-for-app2
        deploy:
          labels:
            traefik.backend: app2
            traefik.frontend.rule: PathPrefix:/m2
            traefik.port: 80
    

    使用 Traefik 2 的示例

    version: "3.7"
    
    services:
      proxy:
        image: traefik:2.0
        command: --providers.docker --providers.docker.swarmMode
        ports:
          - 80:80
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
    
      app1:
        image: your-image-for-app1
        deploy:
          labels:
            traefik.http.routers.app1.rule: PathPrefix(`/m1`)
            traefik.http.services.app1.loadbalancer.server.port: 80
    
      app2:
        image: your-image-for-app2
        deploy:
          labels:
            traefik.http.routers.app2.rule: PathPrefix(`/m2`)
            traefik.http.services.app2.loadbalancer.server.port: 80
    

    【讨论】:

    • 我尝试过使用路径前缀...但它不起作用
    猜你喜欢
    • 1970-01-01
    • 2014-09-09
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 2017-10-02
    • 1970-01-01
    • 2015-06-04
    相关资源
    最近更新 更多