2009-12-11 108 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附加配置。