![Forefront TMG 代理阻止 FQDN 的内部 HTTP 请求](https://linux22.com/image/543287/Forefront%20TMG%20%E4%BB%A3%E7%90%86%E9%98%BB%E6%AD%A2%20FQDN%20%E7%9A%84%E5%86%85%E9%83%A8%20HTTP%20%E8%AF%B7%E6%B1%82.png)
我已将 Forefront TMG 安装为代理服务器。但是,每当我使用完全合格的 DNS 名称向内部网络上的服务器发出 HTTP 请求时,代理都会拒绝连接。
Denied Connection FRW-02 18/03/2011 20:06:37
Log type: Web Proxy (Forward)
Status: 12202 Forefront TMG denied the specified Uniform Resource Locator (URL).
Rule: Default rule
Source: Internal (10.50.75.21:21492)
Destination: Internal (10.50.75.10:8080)
Request: GET http://app-01.mydomain.com.br:9871/internalwebserver_deploy/MyServiceService.svc?wsdl
Filter information: Req ID: 0a157279; Compression: client=No, server=No, compress rate=0% decompress rate=0%
Protocol: http
User: anonymous
我该如何绕过这个阻止?这是一个内部呼叫,因此它不应该阻止它。
如果我只使用http://app-01:9871/internalwebserver_deploy/MyServiceService.svc?wsdl
,而服务器名称后不带域,那么它就不会被阻止。
10.50.75.10是防火墙的ip,也是内网的网关。
答案1
问题有两个方面:
- 你的浏览器首先向 TMG 发送内部请求,并且
- TMG 正在阻止可能的反射攻击(或至少没有规则允许它)
根据你的浏览器的配置方式,从最小化计算周期的角度来看,更好的解决方案是向它提供信息,让它不是将对 *.yourinternaldomain.com 的请求转发到代理服务器。{避免使用代理} 优于 {向代理请求您可直接获得的内容}。
WPAD(自动发现)和 PAC 文件是执行此操作的常用方法,TMG 允许您在网络下的内部网络对象上指定这些排除项 -只要客户端使用 TMG 盒的自动检测。
如果客户端不是,您要么需要修改 PAC 文件,要么只为 yourhostname.yourinternaldomain.com 设置代理排除(“绕过这些地址的代理”),或者如果您没有使用拆分 DNS 系统,则只为 *.yourinternaldomain.com 设置代理排除(“绕过这些地址的代理”)。
顺便说一句 - 上次我查看时,TMG 基本上默认在其自动检测脚本中执行字符串匹配而不是名称解析,因此如果您处理裸 IP 以及良好的内部域名,则可能需要指定网络范围和主机模式(* .internal.dom)。
您的另一个选择是在 TMG 中创建规则以允许内部对内部(这是大多数人所做的 - 相反,最小权限解决方案是只允许从内部到该特定主机的 HTTP),但是这没有解决浏览器与 TMG 通信的问题根本首先,浏览器不应该向代理发送内部请求;这是更好的解决办法。