【问题标题】:Using Varnish only as a Reverse Proxy without caching仅将 Varnish 用作反向代理而不使用缓存
【发布时间】:2018-07-03 15:33:15
【问题描述】:

我想知道我可以在我的 VCL 中放入什么来告诉 Varnish 不要缓存请求并将所有请求传递到后端,因为我想使用 Varnish 作为反向代理来隐藏实际 IP我的后端。 我做了一些研究,但我没有找到任何具体的东西。 我正在使用 Varnish 3,而我的实际 Varnish VCl 是:

backend default {
.host = "127.0.0.1";
.port = "8080";
}

谢谢。

【问题讨论】:

    标签: linux reverse-proxy varnish


    【解决方案1】:

    如果你想让 varnish 对请求不做任何事情,你应该使用管道。这可以防止清漆重写标题。响应是直接从 varnish 发回的。

    sub vcl_recv {
        return(pipe);
    }
    

    【讨论】:

    • 谢谢,这样更好。
    【解决方案2】:

    您需要覆盖默认处理以强制“通过”

    这在 vcl_recv 和 vcl_fetch 中都有

    sub vcl_recv { 经过; }

    sub vcl_fetch { 经过; }

    【讨论】:

    • 嗨,我将它添加到我的 devault.vcl 但重新启动 Varnish 后出现此错误:“来自 VCC 编译器的消息:请将“通过”更改为“返回(通过)”。于是我把“pass”改成了“return(pass);”现在我有这个错误:“无效返回“pass”('input' Line 11 Pos 9)return (pass); --------####--- ...in subroutine "vcl_fetch" ('input' Line 10 Pos 5) sub vcl_fetch { ----#########--- ...这是“vcl_fetch”方法合法返回是:“deliver”“error”“hit_for_pass " "restart" 运行 VCC 编译器失败,退出 1"
    猜你喜欢
    • 2019-06-05
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 2016-10-23
    • 2016-10-16
    • 1970-01-01
    相关资源
    最近更新 更多