我有一个包含许多域的专用服务器。有些域有自己的专用IP,有些IP由域共享。
我想为所有域名和IP设置清漆。
服务器:带有cPanel 11.58的CentOS 7.2
你知道任何cpanel插件吗?或简单的代码或有效的方法,可以自动/轻松地为所有域/ IP设置清漆。
安装清漆后,我将apache端口更改为" 8080"。我将端口更改为" 80"在varnish.params和" 8080"在default.vcl中。现在,varnish适用于服务器的主IP和域。
我尝试通过以下方法修改default.vcl,但在我尝试加载后,varnish会出错。我很困惑并尝试了很多东西来解决它,但遗憾的是没有任何效果。
backend example1 {
.host = "5.135.166.39";
.port = "8080";
}
backend example2 {
.host = "46.105.40.241";
.port = "8080";
}
sub vcl_recv {
if (server.ip == "5.135.166.39") {
set req.backend = example1;
} elseif (server.ip == "46.105.40.241") {
set req.backend = example2;
} else {
set req.backend = default;
}
}
答案 0 :(得分:0)
您需要通过域名本身而不是ip来定义您的条件。所以,假设你有2种毒素:
{p>www.foo.com
A record
5.135.166.39
www.bar.com
A record
46.105.40.241
vcl_recv
在if (req.http.host ~ "foo.com") {
set req.backend = example1;
}
if (req.http.host ~ "bar.com") {
set req.backend = example2;
}
内,您需要执行以下操作:
~
使用foo.bar
来匹配包含== "www.foo.com"
的任何网址,或者您只能使用www.foo.com
来匹配bar.com
, var _getPorts = function (){
return _portList;
}
var _portList = [{
"code": "0101",
"portOfEntry": "Portland, ME"
}, {
"code": "0102",
"portOfEntry": "Bangor, ME"
}, {
"code": "0103",
"portOfEntry": "Eastport, ME"
}, {
"code": "0104",
"portOfEntry": "Jackman, ME"
}, ...
也是如此