2012-08-07 41 views
8

Tôi đang sử dụng tính năng vhost trong Express with Node để quản lý nhiều tên miền phụ cho ứng dụng của tôi. Ứng dụng sử dụng bí quyết cùng một phiên và quan trọng, và tôi tin rằng tôi đã sử dụng các thiết lập cookie phiên đúng:Phiên trên Tên miền phụ trong Express

cookie: { 
      path  : '/', 
      domain : '.example.com', 
      httpOnly : false, 
      maxAge : 1000*60*60*24*30*12 //one year(ish) 
     } 

tôi đặt một biến phiên trên trang web thường xuyên của tôi, nơi các tên miền phụ là ví dụ không xác định http://example.com như vậy:

req.session.rep_id = rep._id; 
res.redirect('https://' + company.name + '.example.com/'); 

Nhưng khi tôi chuyển hướng họ đến subdomain.example.com phiên không có các thiết lập quan trọng rep_id để bất cứ điều gì. Có vẻ như phiên đang được đặt lại giữa các tên miền phụ. Làm thế nào để tôi có được điều này?

Trả lời

4

Một số suy nghĩ:

Hãy thử xóa khoảng thời gian từ .example.com. Suy nghĩ của tôi ở đây là bạn đang cố gắng đặt cookie chỉ tên miền phụ, trong khi vẫn ở trên miền gốc. Tôi đã đọc rằng cookie được đặt trên example.com cũng sẽ có sẵn trên tất cả tên miền phụ.

Cố gắng không chuyển hướng người dùng đến tên miền phụ ngay lập tức, trước tiên phải xác minh rằng cookie đang hoạt động trên miền gốc của bạn. Kiểm tra tiêu đề phản hồi từ máy chủ của bạn, sau đó xem liệu trình duyệt của bạn có giữ cookie trong yêu cầu tiếp theo hay không. Chỉ khi bạn chắc chắn điều này đang hoạt động chính xác, hãy điều hướng đến tên miền phụ.

Các vấn đề liên quan