2013-08-06 45 views
1

傳遞時,我們有的Grails應用在Tomcat上運行。到端口的所有請求都被Nginx的重定向到。 爲了我們的應用安全,我們使用Spring Security請求不被重定向,nginx的

所以問題是:當用戶成功登錄到應用程序,它必須重定向到另一個頁面,但它不會發生。

在Chrome瀏覽器中什麼也沒有發生,在Firefox網頁「損壞內容錯誤」字樣。

是沒有問題的當我們直接在端口8080上訪問應用程序 問題也消失了,當我手動刪除的cookie JSESSIONID,但首先重定向後再次出現的問題是在同一個地方。

的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

配置看起來不錯。你可以用localhost替換127.0.0.1。嘗試使用聽80;而不是externalIp:80。如果這不起作用,請檢查您的nginx版本。 – Chris

回答

0

我固定它,而不是nginx的配置。

心中已經添加了此代碼登入驗證控制器的動作:

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

我真的不知道爲什麼這個問題的存在,當我的請求通過nginx的。 但這是今天的修補程序。