使用 Apache 域进行 varnish 配置

使用 Apache 域进行 varnish 配置

我已经在 Debian 上安装了 Varnish。

我有一个在 Apache 上运行的网站http://example.com

这是我的/etc/varnish/default

vcl 4.0;
backend default {
    .host = "example.com";
    .port = "8080";
 }

Varnish 启动后,我可以在http://127.0.0.1:6081/

响应标头:

Pragma: no-cache
Date: Tue, 25 Aug 2015 12:29:38 GMT
Content-Encoding: gzip
Server: Apache/2.4.10 (Ubuntu)
Age: 0
X-Powered-By: PHP/5.6.4-4ubuntu6.2
Vary: Accept-Encoding
Content-Type: text/html; charset=UTF-8
Via: 1.1 varnish-v4
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
X-Varnish: 229436
Connection: keep-alive
Accept-Ranges: bytes
Content-Length: 23044
Expires: Thu, 19 Nov 1981 08:52:00 GMT
200 OK

我怎样才能让它在下面可见http://example.com? 如何配置 Varnish 和 Apache vhost?

答案1

在您的 /etc/hosts 文件中,添加 example.com 和 127.0.0.1 IP 上的任何其他虚拟主机名。当 varnish 访问“example.com”时,它将被解析为 127.0.0.1,但正确的主机名标头将跟随对 apache 的请求,而 apache 反过来将能够将其映射到正确的虚拟主机。apache 和 varnish 中不需要特殊配置,只需在 apache 中正常配置虚拟主机即可。

相关内容