nodejs เชื่อมต่อคุกกี้เซสชันไม่ได้ตั้งค่าบนบางเครื่อง

ฉันมีการตั้งค่าเซสชันการเชื่อมต่อขั้นต่ำในแอป nodejs ของฉัน:

connect.cookieParser(),
connect.session({ secret: 'asdfg', cookie: { maxAge: 60 * 60 * 1000 }}),

แต่เมื่อทดสอบไซต์ของฉันบนเครื่องอื่น เซสชันคุกกี้ไม่ได้รับการตั้งค่าเลย บน Mac ของฉัน คุกกี้เซสชันได้รับการตั้งค่าเหมือนปกติทั้งใน Chrome และ Firefox บน Windows เสมือนของฉัน คุกกี้เซสชันไม่ได้รับการตั้งค่าบน Chrome หรือ Firefox บน Windows ของเพื่อนคนหนึ่ง เซสชันต่างๆ ดูเหมือนจะไม่ได้รับการตั้งค่าเช่นกัน แต่ใน Windows ของเพื่อนอีกคนหนึ่ง เซสชันต่างๆ ดูเหมือนจะทำงานได้ ฉันได้ตรวจสอบการตั้งค่าคุกกี้และส่วนหัวบน Windows Chrome เสมือนแล้ว แต่ดูเหมือนว่าจะไม่มีอะไรแตกต่างไปจากนี้ เพียงแต่ปฏิเสธที่จะสร้างคุกกี้...

มีแนวคิดใดบ้างที่ว่าทำไมเซสชันคุกกี้ถึงได้รับการตั้งค่าบนเครื่องบางเครื่องและไม่ใช่เครื่องอื่น


person protometa    schedule 30.03.2012    source แหล่งที่มา
comment
โอ้โห... ตรวจสอบเขตเวลาของระบบของคุณเสมอ ไม่เช่นนั้นเซสชันของคุณอาจหมดอายุทันที คอมพิวเตอร์ของเพื่อนอีกคนก็เป็นเครื่องใหม่เช่นกัน ดังนั้นจึงน่าจะเป็นปัญหาเดียวกัน =/   -  person protometa    schedule 30.03.2012
comment
ฉันเคยเห็นปัญหานี้เกิดขึ้นกับเว็บแอปของเราเช่นกัน   -  person Farid Nouri Neshat    schedule 31.03.2012
comment
ฉันจะตรวจสอบเขตเวลาได้อย่างไร? นั่นคือสิ่งที่เกิดขึ้นเหมือนกันกับฉัน ... การเพิ่มศูนย์อีกตัวในการหมดอายุเป็นการแก้ไข แต่ฉันไม่ต้องการเพิ่มอีกชั่วโมงในการหมดเวลา :)   -  person Asken    schedule 06.04.2012
comment
ควรอยู่ในตำแหน่งเดียวกับที่คุณตั้งเวลานาฬิกาไว้   -  person protometa    schedule 07.04.2012


คำตอบ (1)


ในที่สุดคำตอบก็ผุดขึ้นมาทันทีหลังโพสต์...

ตรวจสอบเขตเวลาของระบบของคุณเสมอ ไม่เช่นนั้นเซสชันของคุณอาจหมดอายุทันที แม้ว่าเวลาจะถูกต้อง เขตเวลาจะชดเชยเวลานั้นจาก UTC ซึ่งเป็นเวลาที่เซสชันใช้ จะส่งผลต่อเวลาหมดอายุของเซสชันใดๆ แต่เซสชันที่ถูกตั้งค่าให้หมดอายุภายในหนึ่งหรือสองชั่วโมงอาจไม่ได้รับการตั้งค่าเลย

person protometa    schedule 07.04.2012