我们正在尝试使用F5加载与Jboss 7.1.1捆绑在一起的Life Life Life Portal。当我们尝试到达Load Balancer主机和端口时,我们正在观察一种奇怪的行为。
如果我们尝试访问https://Loadbalancer_Host:Loadbalancer_Port,我们会被重定向到https://Loadbalancer_Host:Liferay_Port/c/portal/layout页。
我们已在Liferay服务器上正确配置了证书,并且可以单独访问它们而不会出现任何问题。
我们无法确定这是否与我们在F5上配置的配置文件有关,或者我们是否缺少Jboss上的配置。
非常感谢任何帮助。
答案 0 :(得分:0)
首先,当然要确保指向F5的源服务器的属性配置为指向正确的虚拟服务器目标vIP / port / URI(例如https://x.x.x.x:443/c/portal/layout)。
您正在尝试使用虚拟服务器进行加密的具体操作?假设您在Liferay服务器上拥有证书(看起来您正在Liferay服务器上终止),您似乎要在F5上尝试进行SSL直通或SSL / TLS桥接。如果您尝试进行SSL / TLS传递,那么您根本不需要客户端或服务器端" SSL / TLS"该配置文件(只是简单地配置为没有配置文件的http端口,但请记住此配置,您不能执行任何第7层操作,例如关于http请求的irules /响应事件,应配置性能层4或类似,并且显然不应该使用http配置文件。如果您尝试创建" SSL / TLS"桥,您将使用客户端配置文件以结合服务器端配置文件终止SSL / TLS以便在发送到Liferay服务器之前重新加密。使用SSL / TLS桥接器,您可以使用第7层irules来检查/操纵http流量。
如果您觉得可能正在进行重定向,那么您可以使用irule进行检查以验证这一点,但是除非您实际上尝试创建所提到的桥,否则您无法进行设置。使用HTTP响应事件声明,检查状态是否为重定向,如果是,则创建一个告诉您的日志。 HTTP :: is_redirect不适用于某些版本,因此如果LTM日志中出现错误,请检查实际状态:
以下响应代码导致[HTTP :: is_redirect]返回匹配项(下面未显示您还可以检查将浏览器指向备用资源的Location头):
-301(永久移动) -302(找到) -303(见其他) -305(使用代理) -307(临时重定向)
when HTTP_RESPONSE {
# Check if the status indicates a redirect, use [HTTP::is_redirect] if possible
# if {([HTTP::status] == 302) or ([HTTP::status] == 301) or....}{
if {[HTTP::is_redirect]} {
log local0. "There was indeed a redirect"
}
}
如果存在重定向,则可能来自ESB,除非您在F5上有检查特定URI的逻辑并且如果检测到,则路由到另一个URI。因此,请确保有人没有配置并应用irule进行重定向(实际上可以在第4层为http或https完成),具体如下:
when CLIENT_ACCEPTED {
#if all of the members in the pool have been marked down by the health monitor
if { [active_members [LB::server pool_name]] <1 } {
TCP::respond "HTTP/1.0 302 Found\r\nServer: Apache\r\nConnection: Close\r\nContent-Length: 0\r\nLocation: https://www.somewhere.else.com\r\n"
}
}
我认为,在阅读本文之后,如果还没有解决的话,你应该能够辨别出问题是什么,如果仍然不确定是否乐意尝试提供帮助。