Безопасное соединение с Caddy, но websocket не работает - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь защитить мое mattermost соединение через Caddy.Наиболее близким является micheljung answer

Способ настройки сети и приложения не имеет смысла.Теперь это работает.Что я сделал:

Включить Let's Encrypt и переадресацию с порта 80 на 443
Позволяет приложению открывать порты 80 и 443 (настроить в Dockerfile и в docker-compose.yml)
Удалить веб-контейнер, потому что егоединственной целью был в основном 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: {}

Как правильно настроить Caddy и mattermost вместе?

1 Ответ

0 голосов
/ 09 февраля 2019

После прочтения пичука.Я получил ответ здесь

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