同一服务器上具有不同域(子域)和不同服务(网站)的相同端口

同一服务器上具有不同域(子域)和不同服务(网站)的相同端口

这是我的设置:

-RasPI 静态 IP 为 192.168.xx,解析为我的域名 blah.xyz,路由器上打开端口 443,转发到我的 Pi

-Vaultwarden(bitwarden)使用 https 端口(443)在 docker 容器内运行

-Nextcloud 云存储使用 apache 在 4433 上运行(ssl)

- 拥有一个域名 blah.xyz,它有两个子域名:a.blah.xyz、b.blah.xyz

我想要做的是:让 vaultwarden 和 nextcloud 在同一端口(443)下运行,但让 vaultwarden 解析为 a.blah.xyz,让我的 nextcloud(网站)解析为 b.blah.xyz。

现在,我知道使用 apache 或 nginx 的虚拟主机文件可以实现这一点,但在 docker 中使用 vaultwarden 让我很困惑,不知道接下来该怎么做。我知道我可以再买一个域名,但我宁愿不这么做。

有什么想法吗?当然,前提是这有意义。

编辑:

我现在已经设置成功了。

答案1

在 Docker 中使用 Vaultwarden 让我很困惑,我不知道接下来该怎么做。

假设你的反向代理(例如 Apache/Nginx),Nextcloud 和 Vaultwarden 都在同一台服务器上(即您的 Raspberry Pi),Nextcloud 和 Vaultwarden(在其容器之外)都无法在端口 443 上运行,因为该端口将由您的反向代理本身使用。

就地藏王而言,根据官方 GitHub 页面,调用 Vaultwarden 的示例命令是:

docker run -d --name vaultwarden -v /vw-data/:/data/ -p 80:80 vaultwarden/server:latest

在该示例中,根据这个官方 Docker 文档,该-p命令映射允许访问容器的主机和容器端口(host:container)。因此,很可能可以更改-p 80:80为类似 -p 4444:80将 Vaultwarden 访问端口设置为主机(例如 Raspberry Pi)上的 4444 之类的操作。


请注意,在 Docker 下更改 Vaultwarden/Bitwarden 的端口或反向代理可能还需要考虑其他事项(例如需要其他选项/步骤等)。我看到在不同情况下多次提到的一件事是 ROCKET_PORT 设置。另一个考虑因素似乎是 Web 套接字(主要与配置反向代理有关)。


也许值得注意的是Vaultwarden 有反向代理示例(包括 Apache 和 Nginx)可在其 GitHub 页面上找到。

[我希望] Vaultwarden 和 Nextcloud 在同一端口 (443) 下运行,但 Vaultwarden 解析为a.blah.xyz,而我的 Nextcloud (网站) 解析为b.blah.xyz.

然后,您可能需要两个虚拟主机 (Apache) 或两个服务器块 (Nginx),它们都响应端口 443 并根据域代理流量。一个条目将代理请求到 Nextcloud(例如端口 4433),另一个条目将代理请求到 Vaultwarden(例如端口 4444)。

相关内容