我们有IIS7服务器坐在一个nginx反向代理之后。
反向代理发送标准的“HTTP_X_FORWARDED_FOR”头与访客IP地址,但IIS7日志logging只loggingnginx服务器的IP地址(这是有道理的,但它不是我想要的)。
我怎样才能告诉IIS7,而不是logging“HTTP_X_FORWARDED_FOR”头(或另外logging)?
(注:我是一个Linuxpipe理员,而不是一个窗口,所以明确的指示和链接真诚赞赏)
这不是内置于IIS,但有一个模块可以安装,将执行此function。 它被称为ARR帮助程序,但它将适用于IIS前面的任何代理:
现在有一个IIS7模块,可以让你logging自定义标题。
如何: http : //learn.iis.net/page.aspx/579/advanced-logging-for-iis-70—custom-logging/
虽然这个问题是用iis-7标记的,但是在X-Forwarded-For和IIS上search时,这是最受欢迎的,所以我想我会继续为IIS 8.5提供这些信息。
IIS 8.5和更高版本
IIS 8.5引入了增强日志loggingfunction,可轻松让pipe理员loggingHTTP请求标头,如X-Forwarded-For。 这个答案是从链接页面改编的。
打开IISpipe理器 。
在“ 连接”窗格中select站点或服务器,然后双击“ 日志logging” 。 请注意,增强日志logging仅适用于站点级日志logging – 如果您在“ 连接”窗格中select服务器,则“ W3C日志logging字段”对话框的“ 自定义字段”部分将被禁用。
在“ 日志文件”下的“ 格式”字段中,select“ W3C” ,然后单击“ select字段…” 。
在“ W3C日志logging字段”对话框中,单击“ 添加字段…” 。 请注意,增强日志logging仅适用于站点级日志logging – 如果您在“ 连接”窗格中select了服务器,则“ 添加字段…”将被禁用。
在“ 添加自定义字段”对话框中,input字段名称,例如c-ip-original以标识日志文件中的自定义字段。 请注意,字段名称不能包含空格。
在源types列表中select请求标题 。
在Source中inputX-FORWARDED-FOR 。
点击OK 。
点击OK 。
在“ 操作”窗格中单击“ 应用 ”以应用新configuration。
一旦configuration了自定义字段,IIS将创build新的文本日志文件,在文件名后附加“_x”以指示该文件包含自定义字段。
请注意,从所有自定义字段收集的数据的总大小不能超过65,536字节。 如果总数超过65,536字节,则IIS将截断数据。