配置apache2和host以使用nginx将流量传递到docker容器

时间:2018-04-27 07:51:23

标签: apache docker nginx

我目前正在使用ubuntu运行apache2网络服务器,托管多个网站和子域。我想在我自己的网络服务器上托管bitwarden,它只在docker容器nginx中提供。

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

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

1 个答案:

答案 0 :(得分:1)

启动docker容器后,抓住容器ip,端口:
local_docker_iplocal_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> 

我希望它有所帮助