我将varnish 4设置为在端口8081上运行,而apache被配置为在端口80上运行。我的设置的问题是,当我浏览我的域http//:mydomain.com:8180/时。
我得到一个(301)永久重定向到http//:mydomain.com/。由于此重定向,我无法获得调用缓存域http//:mydomain.com:8180/ visa与未缓存域http//:mydomain.com/之间的区别。
我的varnish配置
DAEMON_OPTS="-a :8180\
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,1G".
还包括vcl
backend mydomain {
.host = "x.x.x.x";
.port = "80";
.connect_timeout = 60s;
.first_byte_timeout = 60s;
.between_bytes_timeout = 60s;
.max_connections = 800;
}.
响应报头显示apache是重定向的那个。
HTTP/1.1 301 Moved Permanently
Date: Fri, 04 Sep 2015 11:58:04 GMT
Server: Apache
X-Powered-By: PHP/5.3.3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
X-Pingback: http//:mydomain.com/xmlrpc.php
Location: http//:mydomain.com/
Vary: Accept-Encoding
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Varnish: 32795
Age: 0
Via: 1.1 varnish-v4
Connection: keep-alive我的问题是如何停止重定向?
发布于 2015-09-04 22:14:44
通过添加以下命令修复此问题:
set req.http.host = "http//:mydomain.com";在vlc中,如下所示。
if (req.http.host ~ "mydomain.com:8180") {
set req.http.host = "mydomain.com";
set req.backend_hint = mydomain;
}通过这样做,我们可以确保apache能够识别请求主机,因此apache不会重定向
https://stackoverflow.com/questions/32394961
复制相似问题