2015-09-04 201 views
0

我已設置清漆4運行在端口8081而Apache配置爲運行在端口80. 我的設置的問題是,當我瀏覽我的域名 訪問http //:mydomain.com:8180/。
我得到一個(301)永久重定向到http //:mydomain.com/。 由於這個重定向我無法獲得調用緩存域http http://:mydomain.com:8180/ visa v未緩存域http //:mydomain.com/之間的區別。設置清漆監聽不同的端口,而Apache監聽端口80

我清漆的配置

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 

我的問題是如何停止重定向?

回答

0

通過如下所示在VLC添加

set req.http.host = "http//:mydomain.com"; 

固定這一點。

if (req.http.host ~ "mydomain.com:8180") { 
       set req.http.host = "mydomain.com"; 
       set req.backend_hint = mydomain; 
     } 

通過這樣做,我們確保請求主機是Apache的認可,因此Apache將不會重定向