可以使用apache

时间:2015-08-04 03:32:28

标签: node.js apache ssl https load-balancing

是否可以使用apache在一组nodejs服务器之间进行负载均衡?我还需要使用cert配置apache以提供ssl并仅提供https请求。

简单的设置将是2个apache服务器,这将是我的负载平衡器。所有请求都将通过https进入这两个负载均衡器之一。

负载均衡器需要确定将请求路由到哪个服务器。这将是运行相同节点进程的6台服务器之一。

我知道有mod_cluster,但我只使用了JBoss设置而不确定这是否适用于nodejs服务器。

我也意识到这可能不是最好的设置,因为节点是单线程的,我可以尝试类似节点集群的东西。但是,节点集群似乎是垂直缩放而不是水平缩放。

我也知道有nginx和haproxy,虽然我从来没有使用过它们,并且对apache有更多的经验。还不确定haproxy和nginx是否支持只允许ssl连接证书。

这种负载均衡是否可能与apache有关,如果是这样的话?

2 个答案:

答案 0 :(得分:4)

如果使用mod_proxy模块,则使用apache与后面使用的服务器无关。因此,您还可以使用mod_proxy查看所有apache-> tomcat示例。

在提出问题后,我添加了以下示例:

<VirtualHost *:80>
        ProxyRequests off

        ServerName domain.com

        <Proxy balancer://mycluster>
                # WebHead1
                BalancerMember http://10.176.42.144:80
                # WebHead2
                BalancerMember http://10.176.42.148:80

                # Security "technically we aren't blocking
                # anyone but this the place to make those
                # chages
                Order Deny,Allow
                Deny from none
                Allow from all

                # Load Balancer Settings
                # We will be configuring a simple Round
                # Robin style load balancer.  This means
                # that all webheads take an equal share of
                # of the load.
                ProxySet lbmethod=byrequests

        </Proxy>

        # balancer-manager
        # This tool is built into the mod_proxy_balancer
        # module and will allow you to do some simple
        # modifications to the balanced group via a gui
        # web interface.
        <Location /balancer-manager>
                SetHandler balancer-manager

                # I recommend locking this one down to your
                # your office
                Order deny,allow
                Allow from all
        </Location>

        # Point of Balance
        # This setting will allow to explicitly name the
        # the location in the site that we want to be
        # balanced, in this example we will balance "/"
        # or everything in the site.
        ProxyPass /balancer-manager !
        ProxyPass / balancer://mycluster/

</VirtualHost>

答案 1 :(得分:3)

是的,如果您询问如何设置Apache负载均衡器,Check this out可能是有可能的。

你见过node-http-proxy吗? Great little walkthrough here如果你想保留所有Node,那就不会太吓人了。