0

我有一个使用Nginx作为web服务器的rails应用程序(3.2.x)https://myapp.com(ficticious name),一台服务器运行整个软件堆栈。注意https,我已经安装了一个有效的SSL证书。使用NGINX作为RAILS应用程序的loadbalancer时使用什么SSL证书

随着流量的增加我想添加的应用程序的负载均衡器盈,这样的想法是有:(使用Nginx的)
4应用服务器(运行RubOnRails/Nginx的)

1负载均衡器1 DB服务器

随着servernames节点是

lb.myapp.com
app1.myapp.com,app2.myapp.com,app3.myapp.com,app4.myapp.com
db.myapp.com

我想在应用服务器级别保持SSL处理(因为我不一定信任负载均衡器和应用服务器之间的网络流量)。

  1. 是否正确将服务器名称app1.myapp.com(分别)为每个应用程序服务器的服务器名称配置参数,并在lb.myapp.com负载均衡器的参数SERVER_CONFIG?

  2. 我是否假设我不需要在负载平衡器中设置ssl_on,ssl_certificate和ssl_certificate_key配置参数,而仅在应用服务器(应该处理SSL部分)上设置?我只会添加

    proxy_set_header X-FORWARDED-PROTO https; 
    proxy_redirect off; 
    

    到负载均衡器?

  3. 我需要什么SSL证书,它只是一个myapp.com,还是我需要针对不同的应用程序服务器有不同的证书?

回答

0
  1. ,只有事项,如果你的应用服务器提供取决于主机值的多个站点。
  2. 错误的假设。您建议的设置意味着SSL终止在nginx负载均衡器上完成。这意味着您的myapp.com SSL证书应该在负载均衡器上配置。
  3. 你指出你不相信loadbalancer和应用服务器之间的连接。你可以在不同的层面解决这个问题。有些解决方案(假设在负载平衡器上使用SSL终端):
    • https到应用服务器(您自己的建议),为此您需要myapp.com +(自签名)应用服务器SSL证书。
    • VPN负载均衡器高炮和应用服务器

一种不同的方法是在应用服务器做SSL终止。这可以通过例如HAProxy(http://haproxy.1wt.eu/)。这种方法有一些注意事项,例如:与您的应用服务器的所有连接都将作为负载平衡器的原点。

+0

我的意图是终止应用服务器上的SSL连接。这是不可能与我的上述设置(即没有HAProxy)? – KKK 2013-04-07 09:15:06