我一直在努力进行这个设置,但我不知道 Varnish 是否支持我想要做的事情:
- 我有一台运行 Nginx/Magento 的服务器(ec2),用于电子商务(www.domain/)
- 在同一台服务器上,在 Magento 的子目录中,我正在运行 Wordpress(www.domain/blog/)
这两个都以 Varnish 实例为前端,并且一切都很顺利(tm),然而,出于监控和性能的原因,我想将 Wordpress 实例移到它自己的服务器上,然后将 Varnish 指向该服务器以处理博客请求,同时保持它指向现有的 Nginx/Magento 以进行电子商务。
我已经尝试让我的系统管理员使用 Varnish 中的示例 VCL 文件进行设置,但是 Varnish 将 Magento 的请求发送到 Wordpress 时出现问题,然后显示为 404。
我是否只需要制定一个正确配置的 VCL 文件?我还遗漏了什么吗?有人有可以执行此操作的 VCL 文件的工作示例吗?
答案1
只需根据特定 URI 将流量重定向到不同的后端即可
backend wordpress {
.host = "my.other.server.ip";
.port = "80";
}
sub vcl_recv {
if (req.url ~ "^/blog" && req.http.Host ~ "(.*)domain.com") {
set req.backend = wordpress;
}