【问题标题】:Setup Nginx reverse-proxy设置 Nginx 反向代理
【发布时间】:2018-01-17 18:19:32
【问题描述】:

我是自托管社区的新手,我想设置一个家庭服务器,授予对不同应用程序的访问权限。使用 docker,我启动并运行了一个 wordpress 和一个 nextcloud 应用程序。现在我想添加 bitwarden 并希望它可以通过 vault.myhosting.xx 访问。稍后我想通过letsencrypt添加ssl。

我正在使用 jwilder/nginx-proxy,它可以通过在特定应用程序的 docker-compose.yml 中进行细微更改来轻松添加新的虚拟主机。

我想在 bitwarden 中做同样的事情(我在编辑 docker-compose.yml 时遇到了一些错误,请参阅 issue:188)。 bitwarden 开发人员建议调整反向代理。但我不知道该怎么做。我试图在反向代理容器中实现一个新的虚拟主机,但我不明白如何链接到 bitwarden 容器。

【问题讨论】:

    标签: docker nginx proxy reverse-proxy self-hosting


    【解决方案1】:

    交战!英语对我来说不是母语。我不确定是否完全理解您的问题。

    它是如何近似工作的:

    任何域名都是真实IP地址别名。

    特殊的 NS 服务器 (DNS) 保留这对域 IP。 当任何用户输入地址时,它都会引用 DNS。 DNS 可能像 GoogleDNS (8.8.8.8) 一样是公共的,也可能是特定于互联网提供商的。

    docker 的工作原理:

    开箱即用的 Docker 使用多个驱动程序进行网络连接: 桥、主机、空、覆盖...

    例如桥:

    • 装有 Docker 的机器是 HOST
    • 任何容器都可以有端口提供给主机端口

    在 Docker-compose 中它看起来像 .yaml services: wordpress: image: wordpress ports: - 8080:80

    这意味着主机端口 8080 将是容器 80 端口的别名。每次只有一个应用程序可以监听特定端口。如果您尝试再添加一个,它将破坏容器向上的过程。所以使用不同的端口。对于小于 1024 的端口,您可能需要 root 访问权限。

    现在当应用程序提供端口时。您可以访问 localhost:8080 等地址

    如果您需要从互联网访问此端口,您可能会遇到下一个问题:

    之后的问题

    1) 交换机 NAT -> 大多数交换机都设置了打开主机端口到互联网。方式因每个供应商而异,但设置起来并不难。

    2) 动态 IP -> 可以通过 http://GoDaddy.comhttp://noip.com 等服务解析。您也可以购买域名。

    还可以阅读或观看“docker network”

    【讨论】:

    • 感谢您的解释。虽然我的问题更具体一点。我用s.th。类似于 noip。它托管 nextcloud.myhosting.xx wordpress.myhosting.xx 并且我已经注册了 vault.myhosting.xx Bitwarden 正在监听 192.xxx.0.xxx:81。我的 nginx-reverse 代理应将 vault.myhosting.xx 重定向到该特定的 ip:port 配置。对于 nextcloud+wordpress,我在 docker-compose.yml 中使用 VIRTUAL_HOST 标志,根据 bitwarden 的开发人员,这不是要走的路。他建议在 nginx-reverse 中安装一个虚拟主机。问题是如何实现这一目标。
    猜你喜欢
    • 2016-07-05
    • 1970-01-01
    • 2016-08-09
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多