1.  iis 如果放在反向代理后面,日志里的c-ip是反向代理服务器的ip,不是真正用户的ip,想要记录用户的ip要做两件事。
  一。在反向代理设置X-Forwarded-For段,以下为nginx下的配置示例:
  server
  {
  location
  {
  ……
  proxy_set_header

 
X-Forwarded-For  $proxy_add_x_forwarded_for;
  ……
  }
  }
  二。在iis站点上安装下面这个isapi
filter,这东西是在f5的开发论坛上找到的,按开发者的话说,是为了解决iis放在f5后记录不到用户ip的问题,-_-#
管他前端是f5还是nginx还是squid还是haproxy。都可以用。应该不错。装完之后重启下iis就搞定了。
 http://devcentral.f5.com/weblogs/Joe/archive/2009/08/19/x_forwarded_for_log_filter_for_windows_servers.aspx

  回头看下iis的日志,里面的c-ip已经是用户端的ip了。

2.此dll文件的安装使用方法:有IIS站点的右键属性下,打开ISAPI筛选器,添加下载的dll文件,记住下载下来的文件有两个,一个是x86,一个是x64,分别对应32位和64位,并且都有F5XForwardedFor.dll两个版本,即正式版本和开发版本,应该选择用Release正式稳定版本的。 
如果添加完后加载不成功,可以尝试在web服务扩展中添加服务扩展,将F5XForwardedFor.dll添加到服务扩展中,设置其状态为启用。最后重启iis即可。

加图:

下图为添加web服务扩展:

最后测试吧。

 
 
 
 

在IIS的文档中经常会提到两个术语:ISAPI扩展和ISAPI筛选器。

ISAPI扩展

ISAPI扩展(ISAPI Extension”是一种可以添加到IIS中以增强Web服务器功能的程序,其载体为DLL文件。通常直接负责响应HTTP请求

根据HTTP请求要访问的资源扩展名(通过URL获取),IIS会选取特定的ISAPI扩展来处理这一请求,这一过程被称为“程序映射”。 而用于响应HTTP请求的被称为“HTTP Handler(HTTP处理程序)”。 图 8‑11展示了IIS 6中的程序映射。

在图 8‑11中可以看到,IIS指定对ASP.NET网页(其扩展名为.aspx)的请求将由aspnet_isapi.dll处理(图 8‑12)。

IIS 7中的程序映射与IIS 6略有不同。当IIS 7以“经典模式”运行时,与IIS 6一样使用aspnet_isapi.dll响应针对“.aspx”的请求。但当IIS 7以“集成模式”运行时,则使用托管处理程序(System.Web.UI.PageHandlerFactory)响应针对“.aspx”的请求(图 8‑13)。

2 ISAPI筛选器

       “ISAPI筛选器(ISAPI Filter)也是一种DLL但不负责处理HTTP请求,主要作用是响应某些特定的事件。当这些事件发生时ISAPI筛选器被调用,它可以修改传入或传出的HTTP数据。在IIS 7中,使用“HTTP模块(HTTP Module)取代了传统ISAPI筛选器的功能。

注意:ISAPI扩展与ISAPI筛选器名字很相近,但其在IIS中的地位和所起的作用是不同的。

Nginx反向代理下IIS获取真实IP的更多相关文章

  1. Nginx 反向代理Tomcat服务器获取真实IP问题

    1.nginx.conf 配置 修改 Server location配置 增加 proxy_set_header X-Real-IP $remote_addr; #保留代理之前的真实客户端ip pro ...

  2. nginx反向代理下没有获取到正确的clientIP问题发散

    问题背景: 在使用nginx服务器NginxA 来反向代理服务 WebAPIA,WebAPIA中要获取ClientIP,结果获取到的IP为NginxA的, 于是引出了以下的一连串概念... 首先使用X ...

  3. nginx反向代理Tomcat/Jetty获取客户端IP地址

    使用nginx做反向代理,Tomcat服务器和Jetty服务器如何获取客户端真实IP地址呢?首先nginx需要配置proxy_set_header,这样JSP使用request.getHeader(& ...

  4. nginx反向代理node.js获取客户端IP

    使用Nginx做node.js程序的反向代理,会有这么一个问题:在程序中获取的客户端IP永远是127.0.0.1 如果想要拿到真实的客户端IP改怎么办呢? 一.首先配置Nginx的反向代理 proxy ...

  5. 查找“CDN、负载均衡、反向代理”等大型网络真实IP地址的方法

    首先,CDN.负载均衡.反向代理还分为很多层,有时查出来的是最外层的 CDN 服务器群,真实的机器是不对外开放的,类似这样的: 用户 → CDN 网络 → 一台或多台真实机器 ↗ CDN Server ...

  6. nginx反向代理下thinkphp、php获取不到正确的外网ip

    在记录用户发送短信需要获取用户ip时,tp一直获取的是内网ip:10.10.10.10 tp框架获取ip方法:get_client_ip /** * 获取客户端IP地址 * @param intege ...

  7. Nginx反向代理+Tomcat+Springmvc获取用户访问ip

    Nginx+Tomcat+Springmvc获取用户访问ip 1.Nginx反向代理 修改Nginx配置文件 location / { ***********之前代码*******; proxy_se ...

  8. Linux中Nginx反向代理下的tomcat集群

    Nginx具有反向代理(注意和正向代码的区别)和负载均衡等特点. 这次Nginx安装在 192.168.1.108 这台linux 机器上.安装Nginx 先要装openssl库,gcc,PCRE,z ...

  9. 使用Nginx反向代理 让IIS和Tomcat等多个站点一起飞

    使用Nginx 让IIS和Tomcat等多个站点一起飞 前言: 养成一个好习惯,解决一个什么问题之后就记下来,毕竟“好记性不如烂笔头”. 这样也能帮助更多的人 不是吗? 最近闲着没事儿瞎搞,自己在写一 ...

随机推荐

  1. 20155226 《网络攻防》 Exp1 PC平台逆向破解(5)M

    20155226 <网络攻防> Exp1 PC平台逆向破解(5)M 实践目标 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串 该程序同时包含另一个代 ...

  2. Windows下TeX Live + Sublime Text 3 + Sumatra PDF配置

    本文写给我的师弟们,如何自己动手配置LaTeX环境(通过LeX Live + Sublime Text 3 + Sumatra PDF). 1.TeX Live 配置 首先从TeX Live 下载IS ...

  3. 配置LNPM

    在 Ubuntu 系统中,可以使用 apt-get 命令来搭建 LNMP环境.这种方式较编译方式安装更加简便,因此选择使用该方式来搭建环境以供学习. 安装Nginx 使用 sudo apt-get i ...

  4. 基于Shader实现的UGUI描边解决方案

    基于Shader实现的UGUI描边解决方案 前言 大扎好,我系狗猥.当大家都以为我鸽了的时候,我又出现了,这也是一种鸽.创业两年失败后归来,今天想给大家分享一个我最近研究出来的好康的,比游戏还刺激,还 ...

  5. PAT甲题题解-1053. Path of Equal Weight (30)-dfs

    由于最后输出的路径排序是降序输出,相当于dfs的时候应该先遍历w最大的子节点. 链式前向星的遍历是从最后add的子节点开始,最后添加的应该是w最大的子节点, 因此建树的时候先对child按w从小到大排 ...

  6. Alpha版本总结

    Alpha版本总结 General Questions a)     What went well?  Why? 成功之处:界面设计简洁,功能吸引用户. 原因:铁道大学学生上自习不方便,没有固定的教室 ...

  7. Teechart使用记录

    一.      Chart 1.1 Series 在该界面可以进行曲线的添加.删除.修改 1.2 General 在该界面 Margins 可以设置整个坐标系外边距. 在这里可是设置放大功能. All ...

  8. 《实时控制软件设计》之Github提交作业步骤

    在掌握GIT/GITHUB基本操作后,接下来把第一次的编程作业提交到 https://github.com/RTCSD15/HOMEWORK1 ,把第二次的编程作业提交到https://github. ...

  9. 作业六:小学生四则运算之NABCD模型与产品Backlog。

    NABCD模型与产品Backlog NABCD模型 ) N (Need 需求) 方便了老师和学生,使他们可以想要的时候随时可以得到,省时省力,快速出题,马上得到答案. ) A (Approach 做法 ...

  10. Daily Scrum - 11/25

    今天是Sprint 2的最后一天,我们在下午的课上对之前两个Sprint作了比较详尽的Review,并在课后Daily Scrum上讨论制订了Sprint 3的任务安排.具体Task会在明天更新在TF ...