您的位置: 首页 - 服务器 - Apache代理IIS后让ASP获取正确的来访IP

作为一个纯正的WPer,当然很喜欢PHP程序,IIS下跑PHP总有些不如Apache的地方,但是公司的CRM系统是标准国产货——传说中的ASP程序,而公司网站因为WP的各大优点,又选择了他。无奈之下,选择了让Apache代理IIS来运行CRM程序。

具体代理过程细节后续,先记一下怎么样apache代理IIS后怎么样让来访IP显示正常,而不是127.0.0.1。

细心的童鞋们会发现,处于代理后的ASP程序,获取到的来访者的IP,全是服务器本机IP:127.0.0.1,这样可不太好。看到这个情况的第一个想法就是让Apache传递header给IIS,google了一下,哎……据说Apache的proxys功能里没这一项,要自己写模块,而我的又是exe程序,先不说写不写的来,就是写上了,还要去想怎么运行。

无奈下选择了一个笨办法:改ASP程序。买别人家的ASP程序,自己又不懂ASP,当然PHP也不懂,什么也不懂,凑合着来吧。好在服务器上需要这样功能的ASP程序不多,而且这家的CRM写的还算严谨,就这么改呗。

//一般情况下ASP获取来访IP用的是
Request.ServerVariables("REMOTE_ADDR")
//这种是适合服务器没使用反向代理的前提下的www.ctusky.com
//而使用了代理的就需要把这句改成
Request.ServerVariables("HTTP_X_FORWARDED_FOR")

办法很笨,不过至少满足了。ctusky最近更新的的确不多,可能也是因为我不喜欢伟大的国人的“原创、最新”等精神吧。至少这段时间我所写的,全是我实践过,并且在使用的。

完稿,祝福看到这篇博文的童鞋们。

标签: ,
本文由 ctusky 于 2009-11-11 0:32 星期三 在名为 服务器 的分类中发表,已荣获 383 hits
如需转载烦请添加以下信息: 本文转自www.ctusky.com
如喜欢这篇文章或者本站,建议您RSS订阅本站,以及时地获取更多精彩内容!

  • 评论 (0)
  • Trackbacks (0)
发表评论 发起引用

还没有任何评论。

No trackback yet.