June 2011

一个无聊的故事

这是一篇无聊的blog ,那时候说起来有点搞笑,决定mark 下来。

以下一段是我同事的口述,但为了表述形象那么一点,我用第一人称。

话说前天,腹部突然来了感觉,然后就很自然地奔向WC 。刚进WC 看到Kaifu 老师正打开最外面那个蹲位的门,可能是我拖鞋声太响了。。。 他回头一看。。。微微一笑。。。就进去了。。。当时他一看,我一愣。。。。  想要不要说点啥,实在是想不出来说啥,他就已经进去了。然后我就进了他旁边的那个蹲位,从未离Kaifu 老师如此之近!!最深的一个印象是:Kaifu 老师好快啊,我第一波还没完,他就出去了⋯⋯

以下是我自己的口述。

话说昨天,我也在WC 遇到Kaifu 老师了,继在电梯,饭堂,又一次离Kaifu 老师如此的近了。这回,大家都只是来小的,我就站在他旁边。Kaifu 老师在小的方面似乎不够快啊,我完事了洗手走人了,他还没完⋯⋯

无聊,我真无聊~~~

一个关于cookie 的怪异登陆问题

近来有一些用户在某些网络环境下,登陆不了网站。通过详细的联系沟通,终于得出了结论。用户自己用http analyzer ,我在服务器端抓包。

用户端的请求头:

GET / HTTP/1.1
Accept:application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, /
Referer:http://www.zhihu.com/
Accept-Language:zh-CN
User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
UA-CPU:AMD64
Host:www.zhihu.com
Connection:Keep-Alive
Cache-Control:no-cache
Cookie:*****
我抓包得到的请求头:
GET / HTTP/1.1
Host: www.zhihu.com
Connection: keep-alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Qtnddkdrcx: zojajzrgfrdigltciezwhgoumzevhyzqexwfsgkkoyhpiyctzvwzbqzscjzqpuqrflttgfcuxuvzvfiurfjaojmgmenvrfgnqfolulvapnmnjhetvsmktvpdxxekebsrnnnzokqnyuesfldfpbgwcivwgmmjfkgtilacaixdlpibhhvckjbbsupufbjxbhuizwfuhfvyarrowwvipbzmvrh
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Cookie:
Cookie: *****

哇塞,基本全改了,除了cookie 也是那个,不过,多了一行空的cookie 。这是一个什么网络啊!!还加了一串不知道是什么的东西。

我测试了一下,nginx 是可以把 $http_cookie 正确读取出来的,但是后端的web 读取不了,读取了第一个空的cookie 。结果,一直认为用户没有cookie ,所以,用户就不能登陆了。

nginx 针对这种情况修复一下,在所有使用proxy_pass 的地方,加一行:

proxy_set_header Cookie $http_cookie ;

这样就把cookie 硬塞给后端了。

很不负责任地讲一句,我怀疑是运营商做的手脚。当然,也有可能是该用户的上网环境导致。

ubuntu server 下的syslog-ng

速写两篇blog ,最近忙死了。

将服务器的rsyslog 更改为 syslog-ng ,理论上syslog-ng 的配置应该是兼容syslog 的了,但无奈,发现不记录日志。

syslog-ng 的配置:/etc/syslog-ng/syslog-ng.conf 里

options { long_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
owner(“root”); group(“adm”); perm(0640); stats_freq(0);
bad_hostname(“^gconfd$”);
};

而因为使用了一段时间的rsyslog ,所以/var/log 目录下的一些文件,owner 都是 syslog ,难道因为这个原因!!

更改一下owner ,find /var/log/ -user syslog -exec chown root {} \;

搞掂,syslog-ng 工作了。

又是ubuntu server 的错!!!恨死了!!我一定要换了你!!!