【问题标题】:Running vaultwarden docker-compose with caddy on https while openlitespeed webserver is running causing https issues在运行 openlitespeed 网络服务器时在 https 上使用 caddy 运行 vaultwarden docker-compose 会导致 https 问题
【发布时间】:2021-06-18 09:15:57
【问题描述】:

我在我的 ubuntu 20.04 服务器上安装了 Openlitespeed,它可以在端口 80 上使用 http。

我使用带有 HTTP Challenge 的 caddy 运行 vaultwarden docker-compose.yml,它使用端口 443 进行 https。 我使用了此处记录的 docker-compose.yml 和 Caddyfile https://github.com/dani-garcia/vaultwarden/wiki/Using-Docker-Compose

Vaultwarden 使用 https 与我的域完美运行,但 caddy:2 容器现在阻塞了端口 443,这是我的 openlitespeed Web 服务器上 https 所需要的。

我尝试将 docker-compose.yml 中用于 caddy 的端口更改为 443 以外的端口,但随后我的 Web 界面无法加载。

如何使用 https 运行 docker-compose 和 Web 服务器?我可以使用 openlitespeed 代替球童吗?最好的方法是什么?

【问题讨论】:

    标签: docker docker-compose caddy openlitespeed


    【解决方案1】:

    我们可以利用openlitespeed docker solution,但我们仍然需要手动设置代理设置,因为没有现有的 OpenLiteSpeed 作为 vaultwarden 的代理 Docker 映像。

    Docker 设置

    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.Set password for OpenLiteSpeed

    bash bin/webadmin.sh my_password
    

    从浏览器的 7080 端口访问 Web Admin,并使用您设置的密码登录。

    关注OLS as a reverse proxy setup 设置OLS为尊贵代理

    1.转到虚拟主机示例>外部应用程序,创建2个Web服务器,

    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 应用程序的经验,如果我遗漏了什么,请随时告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      相关资源
      最近更新 更多