2013-08-06 4 views
1

Grails Tomcat에서 실행되는 응용 프로그램입니다. 포트에 대한 모든 요청은 Nginx으로 리디렉션됩니다. 우리 앱의 보안을 위해 스프링 보안을 사용합니다.요청이 리디렉션되지 않습니다. 패스가 nginx 인 경우

따라서 문제는 다음과 같습니다. 사용자가 응용 프로그램에 성공적으로 로그인하면 다른 페이지로 리디렉션되어야하지만 발생하지 않습니다.

Chrome 브라우저에서 Firefox 페이지의 "손상된 콘텐츠 오류"가 표시됩니다. 우리가 직접 내가 수동으로 JSESSIONID와 쿠키를 삭제하면 문제는 사라 포트 8080에서 응용 프로그램에 액세스하지만, 첫째 후 다시 나타나고 문제가 같은 장소에 리디렉션 문제가 없습니다

.

의 nginx의 conf는 :

server { 
    limit_conn addr 10; 
    listen externalIp:80; 
    server_name serverName; 
    root /var/ut/; 

    location/{ 
      proxy_pass http://127.0.0.1:8080/; 
      proxy_set_header Host $host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_pass_header Set-Cookie; 
      proxy_pass_header P3P; 
    } 

} 
+0

구성이 좋게 보입니다. 127.0.0.1을 localhost로 바꿀 수 있습니다. 듣기 80을 사용하려고 시도하십시오. externalIp : 80 대신에. 이 작동하지 않는 경우, nginx 버전을 확인하십시오. – Chris

답변

0

나는하지만 nginx를 구성하여, 그것을 고정. 내 요청의 nginx를 통과 할 때,이 문제가 존재하는 이유 정말 모르는

HttpSession session = request.getSession(false); 
    if (session!=null && !session.isNew()) { 
     session.invalidate(); 
    } 

:

I'v은 인증 컨트롤러의 동작을 로그인이 코드를 추가했습니다. 하지만 오늘은 핫픽스입니다.

관련 문제