盛夏, 贪吃小蘑菇的大白菜. 飘忽不定的过活的style下半.

Posts from 04月 2009

Posted
3 04月 2009 @ 10pm

Tagged
Gossip

squid 3.1 的反向代理笔记.

记下来, 免得忘记了:2.6的httpd_accel_host 已经不被3.1支持了,3.1的反向代理/透明代理都在http_port里设置, 不过这样一行就搞定, 很简洁.反向代理的设置:http_port host:port accel vhost vportaccel表示使用反向代理加速, 后面两个表示virtual host和virtual port.其实我没必要记的诶?有manual嘛… 囧…


Posted
3 04月 2009 @ 10pm

Tagged
Coding

基于nginx的wpmu hack, 使得nginx代替php处理静态文件.

php处理静态文件让我很不舒服,所以今天研究了N久如何绕开php来做静态文件的处理.先选取了自己以为最简单的实现方法, 用squid做反向代理.装上了squid 3.1, 发现网上的config教程都是2.6的, 完全不适用,研究了manual后, 配好了反向代理,接着, 尴尬的事情就发生了, 因为是本地做反向代理,无疑通过nginx来进行proxy_pass的结果就是死循环…nginx –[proxy_pass]–> squid –[http request]–> nginx –[proxy_pass]–> squid…太糟糕了, 要解决这个问题只有通过实现两个server, 并且重写host来实现反向代理.庞大的工程. -____-#后来转向nginx的X-SendFile功能,原理是捕捉到特定的X-Accel-Redirect头后,通过实现一个内部的location, 来完成一个重定向.不过事情没有这么简单, 现有栋力博客的重写规则是:rewrite ^.*/files/(.*) /wp-content/blogs.php?file=$1;而静态路径里也含有 /files/ , 所以会被同时重写, 最后返回一个500 Internal Error,并且这个error是没法通过FireBug或者日志来trace的.研究了下nginx的判断逻辑, 加了一条URL判断后终于搞定.详细的步骤如下:


Posted
2 04月 2009 @ 8pm

Tagged
Gossip

You fucking thieves really pissed me off…

看了下统计日志, 居然有一堆来自什么合肥论坛的请求,过去一看发现有人把博客站的图片设置为签名图…在nginx里鼓捣了半天防盗链发现没效果,还以为nginx的bug, 囧…结果后来发现一行邪恶的rewrite:rewrite ^.*/files/(.*) /wp-content/blogs.php?file=$1;我X, wpmu大能啊, 用php处理静态文件, 怪不得nginx的处理referer的判断一点作用没有…还好仔细看了代码, 还有处理缓存的能力, 不然真要吐血了…(这也多多少少解释了我总觉得博客站的静态文件性能及其低下)有的时候啊, 为了URL好看, 真是害死人啊,用php处理静态文件这种弱智方法都想出来了…加了referer判断, 收工.用签名图的人渣全部去死吧.$referer = $_SERVER['HTTP_REFERER'];if (strpos($referer, ‘.dormforce.net’) === FALSE){ status_header( 403 ); die();}


Posted
2 04月 2009 @ 6pm

Tagged
Gossip