记录流入Windows Server 2012 R2上特定URL的流量

时间:2017-11-30 09:50:10

标签: rest powershell iis server windows-server-2012-r2

我有IIS设置和托管应用程序,可以通过API联系。要连接到此API,您必须将凭据发送到某个URL。例如:

$data = {
  username : test,
  password : test
}
$url = 'https://myapi.com/api/authorize/oauth/token'

Invoke-RestMethod -Method Post -Uri $url -ContentType "application/x-www-form-urlencoded" -Headers $authHeader -Body $data

我的问题是,我可以捕获来自特定网址的数据,特别是上面的网址吗?我想获取IIS或编写脚本以在客户联系此URL时保存所有日志。

1 个答案:

答案 0 :(得分:0)

是的,设法解决了这个问题。

TLDR;添加高级日志记录并在定义中按URL过滤。

您需要添加高级日志记录:https://www.microsoft.com/en-us/download/details.aspx?id=7211

  • 从此处,转到IIS中的站点,然后选择“高级日志记录”
  • 创建新定义
  • 修改过滤器
  • 添加表达式
    • Field = URI-Stem
    • 运营商=等于
    • 值=您希望按
    • 过滤的特定网址
  • 应用更改

现在,当用户通过某个URL访问您的网站/ API时,您将进行日志记录。

默认日志记录目录:C:\ inetpub \ logs \ AdvancedLogs \ DEFAULT WEB SITE

更多信息:https://docs.microsoft.com/en-us/iis/extensions/advanced-logging-module/advanced-logging-for-iis-log-filtering

记住;默认情况下,日志文件归SYSTEM所有。他们需要由管理员拥有。要更改此设置,请右键单击>属性>安全>高级>更改(所有者旁边)>高级>选择管理员(可能需要自己授权)