gpt4 book ai didi

apache - 使用 apache 后端在 varnish 中缓存重定向

转载 作者:行者123 更新时间:2023-12-03 17:46:45 24 4
gpt4 key购买 nike

我有一个 apache 服务器,它运行在与 varnish 服务器不同的主机上。如果我们访问 apache 服务器的 ip,它会重定向到 apache_ip/index.php/Main_Page。

由于这个 apache 服务器是 varnish 的后端服务器,我总是从 varnish 得到 301 响应。

sh-4.3# curl 172.16.217.59 -v
* Rebuilt URL to: 172.16.217.59/
* Trying 172.16.217.59...
* TCP_NODELAY set
* Connected to 172.16.217.59 (172.16.217.59) port 80 (#0)
> GET / HTTP/1.1
> Host: 172.16.217.59
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Thu, 17 Aug 2017 18:00:03 GMT
< Server: Apache/2.4.27 (Debian)
< X-Content-Type-Options: nosniff
< Vary: Accept-Encoding,Cookie
< Cache-Control: s-maxage=1200, must-revalidate, max-age=0
< Last-Modified: Thu, 17 Aug 2017 18:00:03 GMT
< Location: http://172.16.217.173/index.php/Main_Page
< Content-Length: 0
< Content-Type: text/html; charset=utf-8
< X-Varnish: 32789 32787
< Age: 1003
< Via: 1.1 varnish (Varnish/5.0)
< Connection: keep-alive
<
* Curl_http_done: called premature == 0
* Connection #0 to host 172.16.217.59 left intact

如何配置 varnish 服务器来处理这种重定向?我希望转到重定向位置并缓存其内容。

最佳答案

我认为让 Varnish 跟随重定向不是一个好主意。即使有可能,301响应也应由客户端解释,而不是由代理真正解释。

更好的方法是使用主机名,如Dimas所说。

创建yoursite.com
使其指向您的 Varnish
在您的apache配置上注册
将其设为apache上的默认主机名(因此重定向将包含它而不是服务器ip)

其他解决方案是黑客。您可以在有后端响应的情况下在varnish中进行解析,更改并更改位置 header ,以用varnish服务器替换apache服务器ip,或者改为实现重试逻辑并遵循重定向(仍在backend_response子例程中)。

关于apache - 使用 apache 后端在 varnish 中缓存重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45742818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com