首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置varnish监听不同的端口,而apache监听端口80

设置varnish监听不同的端口,而apache监听端口80
EN

Stack Overflow用户
提问于 2015-09-04 17:47:46
回答 1查看 326关注 0票数 0

我将varnish 4设置为在端口8081上运行,而apache被配置为在端口80上运行。我的设置的问题是,当我浏览我的域http//:mydomain.com:8180/时。

我得到一个(301)永久重定向到http//:mydomain.com/。由于此重定向,我无法获得调用缓存域http//:mydomain.com:8180/ visa与未缓存域http//:mydomain.com/之间的区别。

我的varnish配置

代码语言:javascript
复制
DAEMON_OPTS="-a :8180\
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,1G"

.

还包括vcl

代码语言:javascript
复制
backend mydomain {
       .host = "x.x.x.x";
       .port = "80";
       .connect_timeout = 60s;
      .first_byte_timeout = 60s;
      .between_bytes_timeout = 60s;
       .max_connections = 800;
}

.

响应报头显示apache是重定向的那个。

代码语言:javascript
复制
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

我的问题是如何停止重定向?

EN

回答 1

Stack Overflow用户

发布于 2015-09-04 22:14:44

通过添加以下命令修复此问题:

代码语言:javascript
复制
set req.http.host = "http//:mydomain.com";

在vlc中,如下所示。

代码语言:javascript
复制
if (req.http.host ~ "mydomain.com:8180") {
                set req.http.host = "mydomain.com";
                set req.backend_hint = mydomain;
        }

通过这样做,我们可以确保apache能够识别请求主机,因此apache不会重定向

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32394961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档