微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当 openlitespeed 网络服务器正在运行时,在 https 上使用 caddy 运行 Vaultwarden docker-compose 导致 https 问题

如何解决当 openlitespeed 网络服务器正在运行时,在 https 上使用 caddy 运行 Vaultwarden docker-compose 导致 https 问题

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

我使用 caddy 运行了一个 vaultwarden docker-compose.yml 和 HTTP Challenge,它使用端口 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 代替球童吗?最好的方法是什么?

解决方法

我们可以利用 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服务器, enter image description here

2.转到虚拟主机示例>重写 将启用重写设置为Yes
添加以下重写规则

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

3.转到虚拟主机模板并删除未使用的docker模板

4.转到侦听器> HTTP > 添加虚拟主机映射
5.转到侦听器> HTTPS > 添加虚拟主机映射
enter image description here

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

结果

enter image description here

注意:我没有使用 Vaultwarden 应用程序的经验,如果我错过了什么,请随时告诉我。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。