@ZEAL Blog·厉
WWW Zeal Blog
We stand alone,
TOGETHER.
+ 0 - 0 | §ssh2 publickey验证失败问题

之前配的几台服务器之间通过ssh2的public key验证方式进行自动登录工作,忽然之间 Public-Key Authentication 的方式失效了,用 ssh 从 client 连 server 总是停滞几秒之后出现要求输入密码的 Password Authentication 方式。

去检查公钥私钥都是很早之前的文件没变动过。直到 cat ~/.ssh2/identification ,发现 cat 不出来了。 重新 echo "IdKey MyDSA2048" > ~/.ssh2/identification 生成一次 identification 文件之后,一切恢复正常。

出问题之前磁盘空间满了,不知道是不是因为这个导致 identification 文件出现这种莫名的问题。

附: SSH & SSH2 Public-Key Authentication HOWTO

标签 ( 开发/理论 ) :
+ 1 - 0 | §mod_rewrite中的REQUEST_URI

如下规则:

RewriteEngine on

# sitemap index xml rewrite
RewriteRule ^sitemap_([a-zA-Z0-9_\-]+)\.xml$ /sitemap/$1
# redirected all invalid request the the index bootstrap
RewriteRule !\.(htm|txt|xml|css|js|swf|gif|jpg|png|ico)$ index.php [L]

假设访问 sitemap_index.xml ,当经过两次RewriteRule之后,传给bootstrap程序 index.php 的 $_SERVER['REQUEST_URI'] 值仍然是 /sitemap_index.xml ,但实际上希望是 /sitemap/index ,这样 index.php 才能正确的进行 url route 。

要达到这个目的,有两个方法。

第一种方式,配合 mod_proxy ,将第一条重写规则改为

# sitemap index xml rewrite
RewriteRule ^sitemap_([a-zA-Z0-9_\-]+)\.xml$ /sitemap/$1 [P,L]

这样将在内部产生一个新的URL请求, REQUEST_URI 的值也就变成了新的 /sitemap/index 。但这种方法制造了额外的一次 http 请求。

第二种方法,将第一条规则改为

# sitemap index xml rewrite
RewriteRule ^sitemap_([a-zA-Z0-9_\-]+)\.xml$ /sitemap/$1 [E=REQUEST_URI:/sitemap/$1]

或者

# sitemap index xml rewrite
RewriteRule ^sitemap_([a-zA-Z0-9_\-]+)\.xml$ index.php [E=REQUEST_URI:/sitemap/$1,L]

然后通过 $_SERVER['REDIRECT_REQUEST_URI'] 变量得到 值 /sitemap/index (注意使用 E 设置环境变量的时候,mod_rewrite 自动给变量加上 REDIRECT_ 前缀)。

有趣的是在 Rewrite 的过程中 REQUEST_URI 的值始终保持是原始的请求URI,但在 mod_setenvif 中提供的 SetEnvIf / SetEnvIfNoCase 中所使用的 Request_URI 属性得到的却是经过 rewrite 之后的地址而非原始 GET/POST 中的 URI。

所以如果在 httpd.conf / httpd-vhosts.conf 中想使用

SetEnvIfNoCase Request_URI "sitemap" ...

来针对 sitemap 设置环境变量的话是不起作用的,因为这时候传给 SetEnvIfNoCase 进行判断的 Request_URI 是 index.php 而不是 sitemap_index.xml 或 sitemap/index 。想要得到原始的 Request_URI 信息就必须在 rewrite 规则的最开始进行保存,比如在 rewrite 规则开头加入

SetEnvIfNoCase Request_URI "(^/sitemap_.*\.xml)" MY_REQUEST_URI_BF_REWRITE=$1

然后在需要的地方使用

SetEnvIfNoCase MY_REQUEST_URI_BF_REWRITE "sitemap" ...

+ 1 - 0 | §PHP5+Apache2 worker MPM问题

据说PHP5不建议和Apache的 worker MPM 搭配使用,但之前就是拿 PHP 5.2.6 + Apache 2.2.4 worker MPM 来跑服务,效果貌似挺好。

后来重新编译了一次 PHP 之后 Apache 就报错了:Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP. Pre-configuration failed!

网上通常说的使用 --with-experimental-zts 参数以及 --enable-maintainer-zts 参数统统试了一遍,结果编 PHP 的时候就通不过了。只有改成使用 prefork MPM。

困扰了N久,最后才发现是因为重编 PHP 的时候加了 --with-openssl 把openssl 模块加进去了的缘故,去掉这个模块就又可以正常与 worker MPM 搭配了。

标签 ( PHP ) :
+ 0 - 0 | §奥运男足四分之一决赛对阵

8月16日 18:00 巴西vs喀麦隆 沈阳奥体中心体育场

8月16日 18:00 意大利vs比利时 北京工人体育场

8月16日 21:00 阿根廷vs荷兰 上海体育场

8月16日 21:00 尼日利亚vs科特迪瓦 秦皇岛奥体中心

被我猜对了阿根廷碰荷兰啊,哈哈。这票算买对了~~ 不知道现在还能不能买到半决赛的票呢。。。

标签 ( 体育 ) :
+ 0 - 0 | §getcwd cannot access parent directories

[root@web-server php]# /etc/init.d/httpd restart
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory

该错误表示 getcwd 命令无法定位到当前工作目录。一般来说是因为你 cd 到了某个目录之后 rm 了这个目录,这时去执行某些 service 脚本的时候就会报 getcwd 错误。只需要 cd 到任何一个实际存在的目录下在执行命令即可。

标签 ( 开发/理论 ) :
+ 0 - 0 | §阿根廷小组第一在望

阿根廷的首场比赛,看电视上说是四万多名观众到现场;想着人不算太多,应该不会很挤,提前一个小时到总归时间绰绰有余了。

想不到四点钟到上海体育场的时候,几个安检入口已经挤满了等待入场的球迷,加上大雨不停,更是又闷又湿。等到通过检查爬到看台上的时候,将将好赶上开球。

阿根廷vs澳大利亚,观众席

八万人的体育场基本座无虚席,九成以上的自然都是阿迷,中间混着一两撮澳大利亚哥们,偶尔扯开嗓子吼两句,立马被排山倒海般的Argentina声给淹没。

阿根廷vs澳大利亚,阿迷们

不过坐在我旁边的一个澳洲老兄喊的一句话着实让人很郁闷 -- At least I'm in support of my own country . 尤其是当比赛结束赶回家准备看男篮比赛却瞟见国奥被比利时两球完结的时候,更是无语。而段暄居然还在说什么理论上的“中国胜巴西比利时输给新西兰”,那不跟幻想中国队举起大力神杯一样无稽么,亏他还讲得出口。

阿根廷vs澳大利亚,比赛结束阿迷在高歌胜利

现场大屏幕在播放犯规动作回放的时候一律用北京奥运Logo进行屏蔽,相当之和谐。安检时饮料和打火机通通没收,明显对咱球迷的素质不放心啊。当拉维奇打入制胜一球时看台上有球迷抛出两根细细的彩带,立马有管理人员赶到。远在上海分赛场的男足小组赛尚且如此,可以想见北京比赛场馆的安全保卫工作会是怎样一个严密程度了。

阿根廷vs澳大利亚,犯规!

两战全胜以后,阿根廷拿小组第一应该没什么大问题了。那边荷兰似乎有点悬,可别搞得连小组第二都没了。。 周六的四分之一比赛打算提早两个小时过去了。

阿根廷vs澳大利亚,犯规!

标签 ( 体育 ) :
+ 0 - 0 | §奥运开幕式很好很强大

如果不是看开幕式,还真不知道地球上原来有这么多的国家和地区。两百零四个代表团鱼贯而入,等个点火实在需要点耐心。

最后李宁踩着祥云“跑”向火炬塔的时候,我一度很替他担心。这个方式无疑创意是十足的,不过难度系数也是十分的。大概除了李宁,也找不出第二人有这个资格兼有这个身板来担当此重任了。

老谋子的几部古装巨片算是没白拍,累积下来的经验全都用到这万众瞩目的奥运开幕式上了。一开场两千零八人的光鼓倒数就相当震撼人心,之后的无论是类似“大风”的论语吟诵还是活字演变现场感都极强。这些元素放到电影里会觉得很突兀,但摆到开幕式上来表演,确实精彩。

前天本来想看阿根廷的首场比赛,调遍电视台没看到一个台转播的,据说都给放到收费电视去了。。巴西的那场球转播镜头的水平则基本上像一场中超,相当失望。但愿趁着开幕式的精彩,后面的电视转播也能让我们开到一个不一样的高质量。

标签 ( 懒人散记 ) :
Since 2005.04.27  梦想 就像鸡蛋 要么孵化 要么臭掉RSS Feed (Entries) | About me | Back To Home | @ZEAL | zbird.com | 沪ICP备05024379号