2014-07-21 4 views
0

Weblogic 서버에 배포 된 Spring-MVC 프로젝트에서 작업 중이며 2 클러스터로 구성되었습니다. 한 클러스터에서 다른 클러스터로 요청이 이동하면 "401 (Unauthorized)" 오류가 발생합니다.Weblogic cluster 401 (Unauthorized)

하지만 일부 요청에 대해 작동하며 언젠가이 오류가 발생합니다.

왜 이런 생각입니까?

답변

1

서블릿 컨테이너에 보안을 위임하고 2 개의 다른 클러스터 (ClusterA, ClusterB)에 응용 프로그램을 배포하면 기본적으로 두 개의 다른 세션 인 SessionA 및 SessionB (동일한 쿠키 이름, JSESSIONID)를 갖게됩니다. 세션 선호도가 없으며 요청이 ClusterA에서 ClusterB로 이동하면 SessionA (제목 포함)가 ClusterB에서 유효하지 않습니다.

2 클러스터에서 최대 가용성을 찾는 경우 토폴로지는 HTTP 세션 상태를 Coherence에 위임하는 것을 고려합니다 (Coherence * Web http://docs.oracle.com/middleware/1212/coherence/COHCW/cweb_wls.htm#CHDDGJHJ 참조).

이 토폴로지를 사용하면 다른 클러스터 (또는 다른 WebLogic Server 도메인 및/또는 다른 응용 프로그램 서버)에 배포 된 많은 응용 프로그램간에 세션을 공유 할 수 있습니다.

+0

일부 요청은 성공했지만 일부 요청의 경우이 오류로 종료되었습니다. – Mojoy

+0

메모리 복제를 사용할 수 있습니까? weblogic.xml 서술자의 요소 : –

0

메모리 복제를 활성화 했습니까 (기본적으로 비활성화되어 있습니까?)? weblogic.xml의 설명에서 (요소없는 경우, 그것을 가능 :.. 첫 번째 요청은 clusterA의의 모든 관리 서버에 관해서

<session-descriptor> 
    <persistent-store-type>replicated_if_clustered</persistent-store-type> 
</session-descriptor> 

가이 세션 ID는 (귀하의 브라우저에서 JSESSIONID 쿠키를) 확인 생성

당신이 두 클러스터 간의 요청 (하드웨어 부하 분산 장치 또는 웹 서버 + 프록시 플러그인)은 클러스터 선호도를 유지하려면 어떻게

의 균형을 어떻게

?

에는 클러스터 친화력이없는 경우, 처리하는 모든 요청 모든 관리 서비스 클러스터 A의 r은 세션 상태에 액세스 할 수 있지만 (클러스터 내 메모리 복제가 활성화 된 경우 WLS 클러스터에 의해 내부적으로 복제 됨) 클러스터 선호도가 실패하고 클러스터 B의 모든 관리 대상 서버에서 요청을 처리하면 서블릿 컨테이너 ClusterB로 귀하의 쿠키로 식별 된 HTTSession을 찾지 못할 것이며, 실패하고 새로운 세션을 생성합니다 (브라우저의 쿠키를 확인하십시오).

관련 문제