【问题标题】:Apache and Varnish http/httpsApache 和 Varnish http/https
【发布时间】:2016-04-03 17:39:31
【问题描述】:

我在 debian 服务器上使用 apache2 和 varnish,但我有 2 个网站一个使用端口 80 和其他 443,但我不知道将其与 varnish 一起使用

如何将端口 80 和 443 与清漆一起使用? 谢谢你

/etc/default/清漆

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

/etc/varnish/default.vcl

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

和apache2

NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>

【问题讨论】:

标签: linux apache debian varnish


【解决方案1】:

Varnish 的“推荐”TLS 终止伴侣是Hitch,它来自同一开发者。它作为一个独立的进程运行,并使用 HAProxy PROXY 协议与 Varnish 进行通信。这需要 Varnish-wise 监听 PROXY 协议的另一个端口。

根据Varnish 4.1 documentation,您可以同时监听 6081(或 80,视情况而定)以及内部端口,例如 6086

varnishd -f /etc/varnish/default.vcl -a :6081 -a 127.0.0.1:6086,PROXY

您可以使用 std 模块通过执行以下操作来检测源请求是否通过 SSL:

sub vcl_recv {
    if (std.port(server.ip) == 443) {
        set req.http.X-Proto = "https";
    }
}

【讨论】:

    猜你喜欢
    • 2019-02-02
    • 2016-03-18
    • 1970-01-01
    • 2016-04-30
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多