背景
使用vagrant做為虛擬開發(fā)環(huán)境约急,本地開發(fā)服務(wù)器使用線上的登陸服務(wù)器進(jìn)行登陸認(rèn)證零远,登陸服務(wù)器使用django-simple-sso實(shí)現(xiàn)單點(diǎn)登陸,登陸認(rèn)證開始時(shí)厌蔽,客戶端(本地開發(fā)服務(wù)器)向登陸服務(wù)器發(fā)送request-token請(qǐng)求牵辣,登陸服務(wù)器會(huì)驗(yàn)證發(fā)送請(qǐng)求的時(shí)間和登陸服務(wù)器自己的時(shí)間做比較,相差超過(guò)5秒則為BadRequest, signature invalid奴饮。
問(wèn)題
ubuntu的hwclock, sysclock不一致纬向,hwclock時(shí)間與服務(wù)器保持一致。但是sysclock越走越慢戴卜,而且慢的加速度很大逾条,經(jīng)過(guò)多次查找沒(méi)有找到原因與解決辦法,不得想到使用crontab的方法投剥,但是大概10秒鐘時(shí)間就能讓sysclock比hwclock慢5秒师脂。此方法失敗。
其他方法:hwclock --hwtosys
是否是virtualbox的原因江锨,沒(méi)找到設(shè)置系統(tǒng)時(shí)間的相關(guān)選項(xiàng)吃警,想著也不是,只有一個(gè)hwclock的設(shè)置選項(xiàng)
最終解決
重啟宿主機(jī)
其他收獲
使用vagrant的provision功能啄育,可以在vagrant初始化后執(zhí)行shell腳本酌心,初始化開發(fā)環(huán)境。這樣就可以不用更新vagrant box到服務(wù)器了灸撰。畢竟項(xiàng)目開發(fā)過(guò)程中谒府,經(jīng)常會(huì)出現(xiàn)需要添加pip包,ubuntu安裝包等情況浮毯,每次都重新生成ssh,key,上傳box泰鸡,有點(diǎn)麻煩债蓝。