代码之家  ›  专栏  ›  技术社区  ›  joe

通过Caddy固定最重要的连接,但websocket不起作用

  •  0
  • joe  · 技术社区  · 7 年前

    mattermost 通过连接 Caddy . 最近的一个来自micheljung answer

    web和应用程序的配置方式毫无意义。现在它起作用了。 我所做的:


    让应用程序公开 端口80和443(在Dockerfile和docker compose.yml中配置)
    删除web容器,因为它的唯一用途基本上是SSL, 现在由Mattermost处理
    利润

    websocket 这是我试过的

    Caddyfile

    chat.{$DOMAIN_NAME} {
        proxy / app:8000
    }
    

    Dockerfile

    FROM abiosoft/caddy:0.11.2
    
    COPY Caddyfile /etc/Caddyfile
    

    docker-compose.yml

    version: "2"
    
    services:
    
      db:
        build: db
        read_only: true
        restart: unless-stopped
        volumes:
          - ./volumes/db/var/lib/postgresql/data:/var/lib/postgresql/data
          - /etc/localtime:/etc/localtime:ro
        environment:
          - POSTGRES_USER=mmuser
          - POSTGRES_PASSWORD=mmuser_password
          - POSTGRES_DB=mattermost
    
      app:
        build:
          context: app
          args:
            - edition=team
        restart: unless-stopped
        volumes:
          - ./volumes/app/mattermost/config:/mattermost/config:rw
          - ./volumes/app/mattermost/data:/mattermost/data:rw
          - ./volumes/app/mattermost/logs:/mattermost/logs:rw
          - ./volumes/app/mattermost/plugins:/mattermost/plugins:rw
          - ./volumes/app/mattermost/client-plugins:/mattermost/client/plugins:rw
          - /etc/localtime:/etc/localtime:ro
        expose:
          - 8000
        environment:
          # set same as db credentials and dbname
          - MM_USERNAME=mmuser
          - MM_PASSWORD=mmuser_password
          - MM_DBNAME=mattermost
    
      caddy:
        build:
          context: .
          dockerfile: Dockerfile
        depends_on:
          - app
        volumes:
          - production_caddy:/root/.caddy
        environment:
          - DOMAIN_NAME=unicornonzen.com
        ports:
          - "0.0.0.0:80:80"
          - "0.0.0.0:443:443"
    
    volumes:
      production_caddy: {}
    

    如何正确配置 球童 最重要的 在一起

    1 回复  |  直到 7 年前
        1
  •  0
  •   joe    7 年前

    读完这本书后。我得到了答案 here

    chat.{$DOMAIN_NAME} {
        proxy / app:8000 {
        websocket
        transparent
        }
    }
    
    推荐文章