0

我已经在我的 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 中用于球童的端口更改为 443 以外的端口,但随后我的 Web 界面无法加载。

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

4

1 回答 1

0

我们可以利用openlitespeed docker 解决方案,但我们仍然需要手动设置代理设置,因为没有现有的 OpenLiteSpeed 作为 vaultwarden 的代理 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.设置 OpenLiteSpeed 的密码

bash bin/webadmin.sh my_password

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

按照OLS 作为反向代理设置,将 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 Apply example 访问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 应用程序的经验,如果我遗漏了什么,请随时告诉我。

于 2021-06-22T07:27:54.233 回答