使用load balance部署网站时碰到的问题

场景

使用两台主机A和B利用load balance来部署一个网站cookiesite,他的主页URL比如叫做www.cookie.com/cookiesite/default.aspx.

在我们cookie这个website下嵌套部署了一个webservice(cookiews),然后网站cookiesite会调用cookiews,所以在site的webconfig中指定了这个webservice的地址:www.cookie.com/cookiews/cookiews.asmx

问题

website跑起来的时候总是连不上这个webservice,总是抛出soapexception。

解决方法

用排出法排出了一切代码原因,而且QA环境没这个问题(一台主机),那估计是服务器配置的问题,对比了网站的配置和application pool的配置(Identity等)仍旧找不到原因。

最后发现是这个webservice的地址:www.cookie.com/cookiews/cookiews.asmx 这个地址出了问题,在两天主机上直接打这个地址无法显示网页,www.cookie.com替换成localhost也无法访问,最后改成IP地址就行了。问题总算解决了,究其原因应该就是和loadbalance的配置有关系,请看下图


 可以看到当browser发送www.cookie.com/cookiesite/default.aspx的时候通过load balance这个组件可以分开request出去,但是当server1/server2继续发出www.cookie.com/cookiews/cookiews.asmx的 时候,逆向从后端发送的request可能到不了load balance,所以无法访问,改成ip地址后不需要通过loadbalance即可解析请求,而且性能上也较快,我估计还是跟load balance的配置有关,loadbalance后端发出的请求应该是没有配置或者是应该避免这样的配置。


如有不对,请大家指正,谢谢

 

posted @ 2012-10-23 10:58  nickycookie  阅读(895)  评论(2编辑  收藏  举报