Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have three LXC containers (CN1, CN2, CN3). They each run their own Apache instance and have their own networking, so each container has their own private IP.

I set up all containers to listen on the private IP only for Apache. I also set up Nginx to act as a proxy from the host machine to direct any traffic based on the domain requested.

So, I have web1 -> CN1 (10.0.3.2), web2 -> CN2 (10.0.3.3), web3 -> CN3 (10.0.3.4).

When I go to web1, it shows the right page. When I go to web2, it shows the right page. When I go to web3, however, it shows web2's page.

Here's my Nginx server configs:

web2

server {
        server_name web2;

        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://10.0.3.3:802;
        }
}

web3

server {
        server_name web3;

        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://10.0.3.4:804;
        }
}

Apache's running on web3 and I get get the page when I telnet to it from the host machine itself:

root@SKYNet:/etc/nginx/sites-available# telnet 10.0.3.4 804
Trying 10.0.3.4...
Connected to 10.0.3.4.
Escape character is '^]'.
GET / HTTP/1.1
Host: web3

HTTP/1.1 200 OK
Date: Sun, 26 May 2013 17:00:27 GMT
Server: Apache/2.2.22 (Ubuntu)
Last-Modified: Sun, 26 May 2013 16:27:58 GMT
ETag: "20457c-b1-4dda183dd360e"
Accept-Ranges: bytes
Content-Length: 177
Vary: Accept-Encoding
Content-Type: text/html
X-Pad: avoid browser bug

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

I can also ping it from my home machine, and also from external sites that allow you to ping websites. I even had a friend test it and it displayed the same thing (web2's index file instead of its own).

share|improve this question

1 Answer 1

I forgot to enable the Nginx config.

Assuming your sites-available configs are stored in /etc/nginx/sites-available/ and Nginx reads from /etc/nginx/sites-enabled/ to see what servers to handle, do this:

ln -s /etc/nginx/sites-available/server_config /etc/nginx/sites-enabled/server_config

Then restart or reload Nginx.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.