Forefront TMG 代理阻止 FQDN 的內部 HTTP 請求
我安裝了 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
我怎樣才能繞過這個街區?這是一個內部呼叫,因此不應阻止它。
如果我使用 only
http://app-01:9871/internalwebserver_deploy/MyServiceService.svc?wsdl
,伺服器名稱後面沒有域,那麼它不會被阻止。10.50.75.10是防火牆的ip,也是內網的網關。
問題是雙重的:
- 您的瀏覽器首先向 TMG 發送內部請求,並且
- TMG 正在防止可能的反射攻擊(或者至少,沒有規則允許它)
根據您的瀏覽器的配置方式,從最小浪費計算週期的角度來看,更好的解決方案是為其提供資訊,使其不會將 *.yourinternaldomain.com 的請求轉發到代理伺服器。{避免代理}勝過{向代理詢問您可以直接獲得的東西}。
WPAD(自動發現)和 PAC 文件是執行此操作的常用方法,並且 TMG 允許您在網路下的內部網路對像上指定這些排除項 -只要客戶端使用 TMG 框中的自動檢測。
如果客戶端不是,您要麼需要修改 PAC 文件,要麼只需為 yourhostname.yourinternaldomain.com 或 *.yourinternaldomain.com 設置代理排除(“繞過這些地址的代理”)不使用拆分 DNS 系統。
順便說一句 - 我上次查看時,預設情況下,TMG 在其自動檢測腳本中基本上執行字元串匹配而不是名稱解析,因此如果您處理裸 IP 以及漂亮的內部域名,您可能需要同時指定網路範圍和主機模式 (*.internal.dom)。
您的另一個選擇是在 TMG 中創建一個規則以允許內部到內部(這是大多數人所做的 - 相反,最低權限的解決方案是只允許從內部到該特定主機的 HTTP),但這並不能解決瀏覽器首先與 TMG 對話的問題——瀏覽器不應該向代理髮送內部請求;這是更好的解決問題。