我正在教自己构build集群化的Java EE 7应用程序。 我专注于GlassFish Server v4.0 。 根据官方文档(第7章133页) , Glassfish可以使用mod_jk使用Apache Http服务器进行负载平衡 。 我正在读一些关于glassfish的集群体系结构,可以用下面两张图来解释: (第二张照片来自下面的书 ) 我的问题是: 在这种情况下安装Apache的通常位置在哪里? 它是安装在域pipe理服务器所在的同一台机器上,还是安装在它自己的独立机器上?
如果工作人员只有不同的path,而不是主机,如何configuration在Apache HTTPD的负载平衡? 例如我有公共URL http://www.example.com/myapp ,这应该是负载平衡内部域http://internal.domain.com/myapp1和http://internal.domain.com/myapp2 (相同的主机,不同的path) 更新:问题是,以下configuration(我通常使用)不允许在一个内部主机上的不同path,它适用于每个内部主机有一个上下文/ myapp运行。 ProxyPass /myapp balancer://workers/myapp ProxyPassReverse /myapp balancer://workers/myapp <Proxy balancer://workers> BalancerMember http://internal1.domain.com BalancerMember http://internal2.domain.com </Proxy> 我发现没有办法映射/ myapp internal1.domain.com/myapp1 internal1.domain.com/myapp2 internal2.domain.com/myapp1 internal2.domain.com/myapp2
我有一个通过wsgi公开的python应用程序,并将其部署到世界。 没有从它提供的静态资产。 该应用程序将被部署到一台机器。 我将使用uwsgi来服务wsgi应用程序,并可以考虑两个选项: 通过机器上的单个uwsgi实例来服务,(弄清楚并用好多的工人/进程来旋转可能会启动2 *#个内核) 在同一台机器上运行多个uwsgi实例,每个实例都有一个worker,位于nginx之后。 在nginx后面运行单个uwsgi实例 有一件事要记住,服务器已经在负载均衡器后面了。 如果我有静态资产,我会考虑试用#2或#3。 因为没有静态文件,所以这似乎是矫枉过正。 在这种情况下,在nginx后面运行uwsgi会有什么好处吗? 反对一个单一的uswgi服务器与适当数量的工人?
根据本指南在GCP中设置HTTP(S)负载均衡器: 客户端SSL会话在负载均衡器处终止。 负载平衡器和实例之间的会话可以是HTTPS(推荐)或HTTP。 如果HTTPS,每个实例必须有一个证书。 从关于负载平衡器的在线阅读中,HTTPS – > LB – > HTTP设置称为SSL卸载,并不是一种不常见的networkingconfiguration。 为什么GCP文档build议使用HTTPS连接与计算实例交谈? 只要计算实例只允许与负载平衡器进行不安全的HTTP通信,我就找不到任何原因,这将是不安全的。
我正在寻找一个开源的Linux负载均衡器。 我的要求很简单。 我想要一个负载均衡器面前多个Web服务器。 它应该能够使用循环方式在Web服务器之间平均分配负载。 易于安装和使用简单。 此外,我想dynamic地(在旅途中)将web服务器添加到负载均衡器,而无需停止/重新启动负载均衡器。 谢谢你的帮助。 -Sethu
我注意到在默认情况下,nginx已经启用了function,因此对于文件系统中存在的目录,没有结尾斜杠的url请求会自动通过301redirect添加一个斜杠。 例如,如果目录css存在于我的根目录下,那么请求http://example.com/css会导致一个301到http://example.com/css/ 。 但是,我有另一个站点,由负载平衡器卸载SSL。 在这种情况下,当我请求https://example.com/css时,尽pipeHTTP_X_FORWARDED_PROTO头被负载平衡器设置为https ,nginx会发出301redirect到http://example.com/css/ 。 这是一个nginx错误吗? 或者我错过了一个configuration设置?
我已经将nginx设置为一对apache后端/上游服务器的反向代理。 使用来自MaxMind的GeoLite数据库 ,我试图根据客户国家代码来调整两个服务器之间的请求。 Nginxconfiguration: geo $geo { default default; include geo.conf; } upstream default.backend { server 192.168.0.1:8080; #Server A server 192.168.0.2:8080; #Server B } upstream DE.backend { server 192.168.0.1:8080; #Server A } upstream US.backend { server 192.168.0.2:8080; #Server B } server { listen 80; server_name myserver.com; location / { proxy_pass http://$geo.backend; proxy_set_header Host $host; proxy_set_header […]
一个以前很好运作的远程桌面服务器农场啊两天前停止工作。 设置如下: DNS将“myfarm.mydomain.local”parsing为所有场成员服务器的IP 所有服务器场成员服务器均在代理MYBROKER上configuration为服务器场“myfarm”的服务器场成员 所有农场成员都是MYBROKER上本地会话代理组的成员 客户端被configuration为连接到“myfarm” (所涉及的所有服务器都是虚拟的Windows2008R2盒)。 突然间,人们开始出现以下错误(由德语翻译),无法连接。 无法连接到terminal服务器。 您尝试连接的terminal服务器场“myfarm”将您redirect到服务器“farmmemberX.mydomain.local”。 远程桌面无法validation此服务器是否属于同一个服务器场。 如果您的networking上有与服务器场名称相同的服务器,则会发生这种情况。 ?如果两台远程计算机都属于同一个远程桌面服务器场,则无法validation。 如果要build立到远程桌面服务器场的连接,则必须使用服务器场名称,而不是计算机名称。 如果您使用由pipe理员准备的RDP连接,请联系networkingpipe理员以获得支持。 如果要连接特定的服务器场成员,请使用“mstsc / admin” 有时候,他们似乎也被拒绝了,就好像input了错误的证书(他们没有,大多数已经保存了证书) 问题1.你能解释一下这个背后的问题,特别是关于“不能被validation”的问题:如果validation是有效的,这个validation是如何进行的? 毕竟,如果不是由经纪人发起的话,redirect甚至是不可能的。 我们尝试过的:有时它有助于用别的东西来replace客户端连接的名字(例如,我们给DNS添加了名称“foo”,parsing为相同的IP并且用户连接到“foo”),但是这远远不够从一贯。 后来我们注意到在上面的错误信息中总是有相同的几台服务器出现在“farmmemberX”中。 我们通过实验从服务器场(成员本身和DNS)中删除了这些服务器场,从而能够将破损的八服务器场减less到function齐全的服务器场。 由于这不足以阻止用户负载,我想克隆其中的一个; 为了做到这一点,我首先closures它,之后重新启动它 – 从那一刻起,它和其他六台服务器一样糟糕。 显然重新启动RDP服务器是致命的事情…根据日志,这个特定的服务器已经有两个月没有重新启动。 因此,在过去两个月中所做的任何改变都可能是相关的。 这些之中 我们将我们的第一个Win2012 AD服务器添加到我们的Win2003 AD结构中 我记得有一些IE10 / SSL / TLS相关的安全问题,需要人工干预(registry和东西)的情况下,但我仍然试图记住这些可能是 吨的Windows更新 诸如无效证书之类的东西来到我的身边,但是我没有发现这样的事情 问题2.这些事情中的任何一个都可能导致这个问题 目前,我们完全放弃了服务器农场,也就是说,我们只通过DNS循环来实现“穷人负载均衡”(当然,我们特别错过了重新连接到上一个会话的特性) 主要问题。 我怎样才能让我的农场再次进入工作状态? 编辑:我应该提到,有几个客户是幸运的,并没有与RDP农场peoblems:那些谁仍然运行Windows XP和旧的RDP客户端… 编辑后评论:似乎主要责备更新KB3002657,KB3035017要么没有安装,要么已经安装了相关的服务器(客户端,RDP服务器,经纪人,数据中心)的问题开始前几天安装,但我会尝试与卸载他们呢 更新一些更多的信息: 我增强了经纪人的事件logging。 根据该日志,一切正常(没有警告),会话redirect正常完成。 只是在soe超时之后,目标会话被删除。 我在快速连接中尝试(失败),在这种情况下,代理甚至logging它试图重用现有的会话。 如果目标RDP服务器设置为“RDP-Sercurity”而不是“协商”,则redirect工作(除了客户端发生可预期的烦人错误消息) 我尝试了一个全新的农场(也就是与不同主机不同的经纪人),这个问题也可以在这个系统中重现。 […]
我在集群configuration的JBOSS 5.2应用服务器前面使用了Apache 2.2。 群集configuration的两个节点驻留在不同的主机上。 此configuration托pipe在Linux服务器上。 在此configuration中,我使用位于Web服务器和Jboss应用程序服务器之间的BIG IP(F5)负载平衡器。 在其中一个应用程序服务器故障切换的情况下,负载平衡工作正常,并将请求从集群的一个节点路由到另一个节点。 但是,我的Apache Web服务器无法将请求路由到群集的工作节点,并给出请求的应用程序服务器不可伸缩的错误。 但是,当我重新启动Apache服务器似乎工作正常,我能够访问该应用程序。 看来,Apache正在caching的应用程序服务器的url和caching不刷新时,我尝试访问故障转移发生后的Web服务器的URL。 下面是我使用的httpd.confconfiguration: <VirtualHost 10.38.205.100:443> DocumentRoot /var/www ErrorLog /etc/httpd/logs/error.log TransferLog /etc/httpd/logs/access_log CustomLog /etc/httpd/logs/ssl_access.log combined # Enable Server on this Virtual host SSLEngine on # Disable SSLV2 in favour of more robust SSLV3 SSLProtocol all -SSLv2 # List of supported cryptografic server cipher suites SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM […]
将负载平衡器标识符放在响应头中是否是一种好的做法? 我正在使用Tomcat / Apache HTTP系统,似乎没有一个好方法来validation我正在查看哪台机器。