0

我目前正在参与以负载均衡器为后端的清漆实现,该后端应将流量相应地转发到多个 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 终结器实现的任何标准方法?

注意:为什么我要实现这一点:创建多层安全性并使用现有的硬件设备。

已经到位:

  1. 所有服务器都有(使用 lightty 的 ssl 的多个接口)。
  2. 负载平衡器 -> 硬件 -> 将平衡这些 Web 服务器之间的负载。

任何在那里分享观点的专家都会很棒。

4

1 回答 1

0

我决定使用 nginx 作为 ssl 终结器,并实现我的问题答案如下。如果有人觉得它有用,我决定更新它。

从我上面的查询:

我将如何实现将清漆配置为具有多个域的 ssl 终止的 dns 入口点?

=> 它的工作原理是我们需要让套接字监听 https/ nginx/pound/ 或其他任何可以读取 ssl 的东西。(我以前不太相信将这一点用作 ssl 终结器,但是我认为我很好,因为超出了那个级别,现在我计划将其设置为内部区域。

=> 是否有可能以某种方式配置清漆以接受所有连接并直接绕过 ssl 到网络服务器?(这样我就不必担心 ssl 支持的多个接口)

可以通过多个接口(如果您有多个域)来实现这一点。或者,如果您正在处理子域,则使用相同的界面。或者,您可以为所有需要 ssl 的页面创建一个安全页面(取决于权衡)

=> 或者用 443 终结器实现的任何标准方法?我决定使用 nginx 来使用 nginx 提供的那些功能(安全层中间)。

于 2013-04-15T18:58:52.613 回答