2009-12-11 106 views
0

302响应当我做内部署在WebLogic J2EE Web应用程序重定向发送回客户端以下响应:覆盖在WebLogic中

HTTP/1.1 302 Moved Temporarily 
Cache-Control: no-cache="set-cookie" 
Date: Sat, 12 Dec 2009 07:37:43 GMT 
Transfer-Encoding: chunked 
Location: http://server:port/front/page 
Set-Cookie: JSESSIONID=CDdjLjLHSLlGxzzBT7dmLCw7JFZyBTxp95gJyxSL8GLS2gpNGKpb!1582307085; path=/ 
X-Powered-By: Servlet/2.4 JSP/2.0 

01d7 
<html><head><title>302 Moved Temporarily</title></head> 
<body bgcolor="#FFFFFF"> 
<p>This document you requested has moved temporarily.</p> 
<p>It's now at <a href="http://server:port/front/page">http://server:port/front/page</a>.</p> 
</body></html> 

0000 

有没有办法来覆盖HTML?

+0

您是否从HTTP重定向到HTTP?我从来没有见过这个页面。那是什么版本的weblogic? – 2009-12-11 14:58:01

+0

Weblogic 9.2。它是HTTP重定向。我使用Fiddler获取原始HTTP请求/响应,302响应包含该HTML内部。 – 2009-12-11 15:33:55

+0

您的评论帮助了很多,并且用它更新您的问题真的很不错。然而,有些东西仍然不清楚:什么URL([protocol]:// [ip]:[port] /)恰好是预期的? – 2009-12-11 21:00:53

回答

1

我不知道此页面来自哪里,但我想看看WebLogic的响应,尤其是标题中 Location的内容。其实,我不知道小提琴手,但我想知道这是不是在这里打破东西(见这里的 similar question)。

更新:我想我终于开始了解这个问题多一点,这要归功于OP评论。现在,我想知道在插件配置中设置WLProxySSLON会有帮助。

WLProxySSL设置为ON时,从WebLogic Server返回给客户端的位置标头指定HTTPS协议。

我会深入挖掘这些信息,并在稍后更新此答案。

+0

问题不在Fiddler中,它实际上只是一个代理/调试工具。我只是用小提琴来理解这个问题。浏览器可以正确处理重定向,但问题实际上是302响应中包含的绝对URL。我们在WebLogic之前放置了一台Apache服务器来强制使用HTTPS。我们在我们的应用程序中尽可能使用相对URL,并且不会为HTTPS服务器造成任何问题,除非重定向完成后,因为使用绝对URL为HTTP。我会附上答案的原始答复。 – 2009-12-11 20:23:13

+0

啊,我想我终于开始明白这个问题了。一切仍然不清楚,但它更好。其实,我现在感觉这样:为什么你不提供这些细节在最初的问题? :) – 2009-12-11 20:42:06

+0

:)我认为只是更换标准的302响应将是一个更好的解决方案。 – 2009-12-12 07:32:16

1

您可以使用应用程序的web.xml来覆盖它,如:

<error-page> 
    <error-code>302</error-code> 
    <location>/error302.jsp</location> 
</error-page> 

编辑:

<%@ page language="java" isErrorPage="true" %> 
<%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %> 
<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
... 

问候: 错误页面可以下手。

+0

你有这样的JSP的例子吗?那会正确插入重定向的网址? – 2009-12-11 14:00:55

+2

咦?一个302的错误页面? – 2009-12-11 14:57:23

+1

@Pascal - 为什么不呢?诚然,它通常不会在典型的Web浏览器中显示。但是HTTP还有其他的用例! – 2009-12-12 03:56:28

0

我最初的问题与302响应中的绝对URL有关。我发现绝对网址是由HTTP specification决定的。尽管大多数浏览器都容忍相对URL,但这不是一个可靠的解决方案。这意味着覆盖302响应不会在所有可能的情况下给我想要的结果。我宁愿使用Pascal提出的解决方案,或者为URL重写引擎进行Apache附加配置。