我有三个LXC容器(CN1,CN2,CN3)。 他们各自运行自己的Apache实例并拥有自己的networking,因此每个容器都有自己的私有IP。
我设置了所有的容器来侦听专用于Apache的私有IP。 我还设置了Nginx作为主机的代理,根据请求的域来引导任何stream量。
所以我有web1 – > CN1(10.0.3.2),web2 – > CN2(10.0.3.3),web3 – > CN3(10.0.3.4)。
当我去到web1时,它显示了正确的页面。 当我去到web2时,它显示了正确的页面。 但是,当我去到web3时,它显示了web2的页面。
这是我的Nginx服务器configuration:
WEB2
服务器{ server_name web2; 位置 / { proxy_set_header X-Real-IP $ remote_addr; proxy_set_header主机$主机; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_pass http://10.0.3.3:802; } }
WEB3
服务器{ server_name web3; 位置 / { proxy_set_header X-Real-IP $ remote_addr; proxy_set_header主机$主机; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_pass http://10.0.3.4:804; } }
Apache在web3上运行,当我从主机本身telnet到它时,我得到了页面:
root @ SKYNet:/ etc / nginx / sites-available#telnet 10.0.3.4 804 尝试10.0.3.4 ... 连接到10.0.3.4。 转义字符是'^]'。 GET / HTTP / 1.1 主持人:web3 HTTP / 1.1 200 OK date:2013年5月26日星期日17:00:27 GMT 服务器:Apache / 2.2.22(Ubuntu) Last-Modified:Sun,26 May 2013 16:27:58 GMT ETag:“20457c-b1-4dda183dd360e” 接受范围:字节 内容长度:177 变化:接受编码 内容types:文本/ HTML X-Pad:避免浏览器错误有用!
这是此服务器的默认网页。
Web服务器软件正在运行,但尚未添加内容。
我也可以从我的家用机器ping通,也可以从外部网站ping通网站。 我甚至有一个朋友testing它,并显示相同的东西(Web2的索引文件,而不是自己的)。
我忘了启用Nginx的configuration。
假设您的站点可用configuration存储在/etc/nginx/sites-available/
并且Nginx从/etc/nginx/sites-enabled/
读取以查看要处理的服务器,请执行以下操作:
ln -s /etc/nginx/sites-available/server_config /etc/nginx/sites-enabled/server_config
然后重新启动或重新加载Nginx。