我目前正在参与以负载均衡器为后端的清漆实现,该后端应将流量相应地转发到多个 Web 服务器。
我正在努力实现:
Public Traffic -> haproxy/DNS -> [Varnish (x2) / nginx(ssl) ] -> Loadbalancer -> Web server(x4)
我可以将 Varnish 、 nginx 配置为一个域的 ssl/443 终结器。(即,如果我将 dns 指向 varnish eth 并访问网络服务器为该页面提供服务)
清漆配置
backend loadbalancer { .host = "xxx.xxx.xxx.xxx"; .port = "80" }
backend loadbalancer_ssl { .host = "xxx.xxx.xxx.xxx"; .port = "443"; }
sub vcl_recv {
# Set the director to cycle between web servers.
if (server.port == 443) {
set req.backend = loadbalancer_ssl;
}
else {
set req.backend = loadbalancer;
}
}
# And other vcl rules for security and other.
Nginx 配置
location / {
# Pass the request on to Varnish.
proxy_pass http://127.0.0.1;
proxy_http_version 1.1;
#SSL certificate and config
=> 我将如何实现将清漆配置为具有多个域的 ssl 终止的 dns 入口点?=> 是否有可能以某种方式配置清漆以接受所有连接并直接绕过 ssl 到 Web 服务器?(这样我就不必担心 ssl 支持的多个接口)
=> 或者用 443 终结器实现的任何标准方法?
注意:为什么我要实现这一点:创建多层安全性并使用现有的硬件设备。
已经到位:
- 所有服务器都有(使用 lightty 的 ssl 的多个接口)。
- 负载平衡器 -> 硬件 -> 将平衡这些 Web 服务器之间的负载。
任何在那里分享观点的专家都会很棒。