Запуск vaultwarden docker-compose с caddy на https во время работы веб-сервера openlitespeed вызывает проблемы с https

Я установил Openlitespeed на свой сервер Ubuntu 20.04, который работает с http на порту 80.

Я запустил vaultwarden docker-compose.yml с caddy с HTTP Challenge, который использует порт 443 для https. Я использовал docker-compose.yml и Caddyfile, которые были задокументированы здесь https://github.com/dani-garcia/vaultwarden/wiki/Using-Docker-Compose.

Vaultwarden отлично работает с моим доменом с https, но контейнер caddy:2 теперь блокирует порт 443, который мне нужен для https на моем веб-сервере openlitespeed.

Я попытался изменить порт в docker-compose.yml для caddy на что-то отличное от 443, но тогда мой веб-интерфейс не загружается.

Как я могу запустить как мой docker-compose, так и мой веб-сервер с https? Могу ли я использовать openlitespeed вместо caddy? Что было бы лучшим подходом для этого?


person Nowak    schedule 18.06.2021    source источник


Ответы (1)


Мы можем воспользоваться преимуществами docker-решения openlitespeed, но нам все равно нужно вручную настройте параметры прокси-сервера, поскольку OpenLiteSpeed ​​не существует в качестве образа Proxy Docker для vaultwarden.

Настройка докера

1. Загрузите ols-docker-env

git clone https://github.com/litespeedtech/ols-docker-env.git;
cd ols-docker-env

2. Измените файл docker-compose.yml на

version: '3'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      - WEBSOCKET_ENABLED=true
    volumes:
      - ./vw-data:/data

  litespeed:
    image: litespeedtech/openlitespeed:${OLS_VERSION}-${PHP_VERSION}
    env_file:
      - .env
    volumes:
        - ./lsws/conf:/usr/local/lsws/conf
        - ./lsws/admin-conf:/usr/local/lsws/admin/conf
        - ./bin/container:/usr/local/bin
        - ./sites:/var/www/vhosts/
        - ./acme:/root/.acme.sh/
        - ./logs:/usr/local/lsws/logs/
    ports:
      - 80:80
      - 443:443
      - 443:443/udp
      - 7080:7080
    restart: always
    environment:
      TZ: ${TimeZone}

3. Запустите следующую команду, чтобы запустить контейнеры.

docker-compose up -d

4. Установите пароль для OpenLiteSpeed

bash bin/webadmin.sh my_password

Получите доступ к веб-администратору через порт 7080 из браузера и войдите в систему с установленным паролем.

Выполните настройку OLS в качестве обратного прокси-сервера, чтобы настроить OLS в качестве обратного прокси-сервера.

1. Перейдите к Примеру виртуального хоста › Внешнее приложение, создайте 2 веб-сервера, введите здесь описание изображения

2. Перейдите к Примеру виртуального хоста › Перезаписать Установите для параметра Включить перезапись значение Yes
Добавьте следующие правила перезаписи

RewriteRule /notifications/hub/ http://vaultwarden3012/ [P,L]
RewriteRule ^(.*)$ http://vaultwarden80/$1 [P,L]

3. Перейдите к шаблонам виртуальных хостов и удалите неиспользуемый шаблон docker.

4. Перейдите в Прослушиватель > HTTP > Добавить сопоставления виртуальных хостов
5. Перейдите в Прослушиватель > HTTPS > Добавить сопоставления виртуальных хостов
введите здесь описание изображения

6. Пример применения SSL Доступ к контейнеру litespeedtech и применение сертификата,

/root/.acme.sh/acme.sh --issue -d example.com -w /usr/local/lsws/Example/html

7. Добавьте ключ SSL и сертификат в пример виртуального хоста › SSL

  • Файл закрытого ключа: /root/.acme.sh/certs/example.com/example.com.key
  • Файл сертификата: /root/.acme.sh/certs/example.com/fullchain.cer
  • Связанный сертификат: Yes

Результат

введите здесь описание изображения

Примечание. У меня нет опыта работы с приложением Vaultwarden. Не стесняйтесь, дайте мне знать, если я что-то пропустил.

person Eric    schedule 22.06.2021