spcial
spcial

Reputation: 1569

Configure apache2 and host to pass traffic to a docker container with nginx

I'm currently running a ubuntu webserver with apache2, hosting multiple sites and subdomains. I would like to host bitwarden on my own webserver, which is only shipped in a docker container with nginx.

I would like to use a subdomain e.g. bitwarden.domain.com to access bitwarden. But I have no idea how to configure apache2 / host to pass through traffic going to bitwarden.domain.com to the docker container running bitwarden (without affecting the other domains).

My question: How to configure apache2/docker to achieve this? Is there any documentation/tutorial for this?

Upvotes: 2

Views: 2848

Answers (1)

Evhz
Evhz

Reputation: 9238

After starting the docker container, grab the container ip, port:
local_docker_ip, local_docker_port

And you have a couple of options:

Use apache2 Virtual host with a redirect:

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

Or use the apache2 proxy module. First, enable proxy modules by running the commands:

a2enmod proxy
a2enmod proxy_http

Then, add the following virtual host:

<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> 

I hope it helps

Upvotes: 3

Related Questions