我读这篇文章,但我不能让我的情况下工作https://stackoverflow.com/questions/3334023/configure-multiple-sites-with-varnish
这是我的问题
我有2个域名:mysite1.com和mysite2.com
这是我在default.vcl中的configuration
backend default { .host = "127.0.0.1"; .port = "8080"; } backend mysite2 { .host = "127.0.0.1"; .port = "8080"; } sub vcl_recv { if (req.http.host == "mysite1.com" || req.http.host == "www.mysite1.com") { set req.backend = default; } elsif (req.http.host == "mysite2.com" || req.http.host == "www.mysite2.com") { set req.backend = mysite2; } }
现在是/ etc / ngix / site-avaiable / mysite2中的ngixconfiguration
server { server_name mysite2.com; #server_name localhost; listen 127.0.0.1:8080; root /home/mysite2/sites/mysite2 // some bla bla here }
我的问题是,每当我尝试连接到mysite2.com,一切都将移动到mysite1.com。
如果我closures清漆,则可以,但是当我打开它时,我得到了这个错误,我认为我的configuration不正确,但我不知道为什么,有没有经验呢?
你的nginx和varnishconfiguration中有重叠的监听器。
如果Varnish正在监听8080,则需要Nginx监听端口80,并将请求发送到8080.执行此操作的方法是使用proxy_pass语句 。