【问题标题】:Configure apache2 and host to pass traffic to a docker container with nginx配置 apache2 和 host 以使用 nginx 将流量传递到 docker 容器
【发布时间】:2018-10-08 00:38:57
【问题描述】:

我目前使用apache2 运行ubuntu 网络服务器,托管多个站点和子域。我想在我自己的网络服务器上托管 bitwarden,该服务器仅在带有 nginxdocker 容器中提供。

我想使用子域,例如bitwarden.domain.com 访问 bitwarden。但我不知道如何配置 apache2 / host 以将流向 bitwarden.domain.com 的流量传递到运行 bitwarden 的 docker 容器(不影响其他域)。

我的问题:如何配置 apache2/docker 来实现这个?有这方面的文档/教程吗?

【问题讨论】:

    标签: apache docker nginx


    【解决方案1】:

    启动docker容器后,抓取容器ip,端口:
    local_docker_ip,local_docker_port

    你有几个选择:

    使用带有重定向的 apache2 虚拟主机:

    <VirtualHost *:80>
        ServerName  bitwarden.domain.com
        Redirect permanent / http://{local_docker_ip}:{local_docker_port}/
    </VirtualHost>
    

    或者使用 apache2 proxy module。首先,通过运行命令启用代理模块:

    a2enmod proxy
    a2enmod proxy_http
    

    然后,添加以下虚拟主机:

    <VirtualHost *:80> 
        ProxyPreserveHost On
        ProxyRequests Off
        ServerName bitwarden.domain.com
        ProxyPass / http://{local_docker_ip}:{local_docker_port}/
        ProxyPassReverse / http://{local_docker_ip}:{local_docker_port}/
    </VirtualHost> 
    

    希望对你有帮助

    【讨论】:

    • 谢谢!我也在查看github.com/bitwarden/core/issues/188 以了解如何配置 docker 容器,但您的回答帮助我设置了代理。我只是将监听端口更改为 443,将 SSLProxyEngine 设置为 On 并出于安全原因添加 ssl 证书。
    猜你喜欢
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 2015-12-31
    • 2015-03-30
    • 1970-01-01
    • 2020-08-02
    • 2018-02-18
    • 1970-01-01
    相关资源
    最近更新 更多