如何在ubuntu 18.04上使用ssl终止配置清漆?

问题描述 投票:0回答:1

我有一个在Ubuntu 18.04 OS上运行的设置。还要使用Apache2和SSL设置服务器。我已经安装了Varnish,但不确定如何在不使用Nginx的情况下使用SSL进行设置。

基本上,我想设置PWA,所以我需要带Varnish缓存的SSL。

非常感谢您提供有关此问题的帮助。

谢谢

varnish
1个回答
0
投票

Hitch

您可以使用Hitch终止TLS。 Hitch由Varnish Software开发,其唯一的工作就是成为TLS代理。

您可以通过运行以下命令在Ubuntu 18.04上轻松安装Hitch:

apt-get install -y hitch

您可以在/etc/hitch/hitch.conf中放置以下配置:

frontend = {
    host = "*"
    port = "443"
}

#When using TCP/IP
backend = "[localhost]:8443"

#When using Unix Domain Sockets
#backend = "/run/varnish.sock"

pem-file = "/etc/hitch/certs/cert.pem"

proxy-proxy = on

ciphersuites = "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256"

ciphers = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"

tls-protos = TLSv1.2 TLSv1.3

ecdh-curve = "X25519:prime256v1:secp384r1"

prefer-server-ciphers = false

在此示例中,证书位于/etc/hitch/certs/cert.pem下。确保此文件存在并且包含正确的证书信息。如果需要更大的灵活性,The Hitch docs包含有关证书配置的更多信息。

连接到Varnish可以通过TCP / IP或Unix域套接字完成。在上面的示例中选择首选的backend配置。

Varnish 6和Unix域套接字

如果已安装Varnish 6,甚至可以使用Unix域套接字将Hitch连接到Varnish,这消除了TCP / IP的潜在开销。

如果从Ubuntu的软件包存储库(为Varnish 5.2.1)中安装了Varnish,则可以通过转到https://packagecloud.io/varnishcache/varnish60lts来升级Varnish 6的官方打包版本。

6.0之前的所有版本都是报废

,升级到Varnish 6不仅从UDS角度讲是有意义的,而且从安全性和稳定性的角度来看也是如此。] >

[为了确保Hitch可以使用PROXY protocol正确代理请求,您需要调整Varnish的运行时参数:

这些是默认设置:

/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m

您需要按以下方式调整-a侦听器设置:

/usr/sbin/varnishd -a http=:80,HTTP -a proxy=:8443,PROXY -a uds=/run/varnish.sock,PROXY,user=vcache,group=varnish,mode=660  -f /etc/varnish/default.vcl -s malloc,256m

3个-a声明执行以下操作:

  • 监听端口80进行常规HTTP连接
  • 在端口8443上侦听使用PROXY协议的传入TCP / IP连接
  • 在/run/varnish.sock上侦听使用PROXY协议的传入UDS连接
  • 结论

    Hitch是Varnish的goto TLS代理,它提供了非常低的开销,虽然很灵活,但是仍然易于配置。

通过使用PROXY协议,原始客户端IP被自动传输,并且Varnish自动将其设置为X-Forwarded-For值。

如果您想使用Unix域套接字,以进一步降低开销,Varnish 6为您提供了这些功能

如果您不希望使用TLS代理怎么办

几乎所有涉及TLS和Varnish的解决方案都归结为使用TLS代理。

如果您确实真的不想使用TLS代理,则可以使用Varnish Enterprise。它不是免费开放源代码,但提供了本机TLS实现。

© www.soinside.com 2019 - 2024. All rights reserved.