2013-03-07 50 views
1

這是通過drush新鮮安裝的Drupal 7。無法登錄,在服務器端的cookie相關的問題似乎

使用firebug,我可以看到cookie在嘗試登錄後在響應頭中發回。頁面被重定向到主頁(/節點)。會話記錄也保存在會話表中。沒有錯誤。服務器錯誤日誌上也沒有錯誤。

同一臺服務器託管其他具有登錄功能的網站。同一瀏覽器可以毫無問題地登錄到其他網站。 WordPress的例子。 Cookie肯定是啓用的。

服務器正在運行Nginx的,PHP-FPM

附件是我的網站nginx的設置。我不確定它是否與乾淨的網址有關。從瀏覽器中,我確實看到了乾淨的網址。我可以輸入/ user,/ user/register,/ user/password頁面。

server 
{ 
    listen  80; 
    server_name www.testd720.com; 
    index  index.php index.html index.htm; 
    root   /opt/www/drushtest/web1; 
    #error_page 404 = @drupal; 

    #location/{ 
    #   # This is cool because no php is touched for static content 
    #   try_files $uri $uri/ @rewrite; 
    #   expires max; 
    #} 

    #location @drupal { 
    # rewrite ^(.*)$ /index.php?q=$1 last; 
    #} 

    location/{ 
     if (!-e $request_filename) { 
      rewrite ^/(.*)$ /index.php?q=$1 last; 
      break; 
     } 
    } 

    location ~ .*\.(php|php5)?$ 
    { 
    #fastcgi_pass unix:/tmp/php-cgi.sock; 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    include  fastcgi.conf; 
    } 
    access_log logs/testd720.log main; 
} 

頁眉:

Cache-Control no-cache, must-revalidate, post-check=0, pre-check=0 
Connection keep-alive 
Content-Language en 
Content-Type text/html; charset=utf-8 
Date Thu, 07 Mar 2013 09:47:37 GMT 
Etag "1362649657" 
Expires Sun, 19 Nov 1978 05:00:00 GMT 
Last-Modified Thu, 07 Mar 2013 09:47:37 +0000 
Location http://www.testd720.com/node 
Server nginx/1.2.0 
Set-Cookie SESS26bc541d314e909277ae077251e81e7a=qu7a2apzFE9ALHnLWc04N-t_JoHhh2UCR2MkmKROVG0; expires=Sat, 30-Mar-2013 13:20:57 GMT; path=/tmp; domain=.testd720.com; HttpOnly 
Transfer-Encoding chunked 
X-Powered-By PHP/5.4.3 
+0

添加包含cookie的響應標題,特別是cookie內容(我將其限制在某個域或某個地方) – regilero 2013-03-07 12:39:07

回答

1

的問題是對cookie路徑設置:

Set-Cookie SESS26bc541d314e909277ae077251e81e7a=qu7a2apzFE9ALHnLWc04N-t_JoHhh2UCR2MkmKROVG0; 
    expires=Sat, 30-Mar-2013 13:20:57 GMT; 
    path=/tmp; 
    domain=.example.com; 
    HttpOnly 

在這裏你指定你的瀏覽器,這個cookie只應在網址上使用該網站以/ tmp開頭。

您肯定會錯誤地將您的服務器上的Cookie路徑參數(即用於限制您的網站上適用此cookie的路徑)與Cookie存儲路徑 - 實際上不存在cookie相關而不是存儲在服務器上 - (在php中,如果會話是通過Web服務器上的文件(默認配置,會話存儲在服務器上,它們的名稱是cookie名稱)進行管理,則由session.save_path設置進行管理。

+0

非常感謝! – Hao 2013-03-08 09:11:04