TMG强制通过端口443(而不是防火墙)进行Intranet连接

时间:2019-02-25 18:08:00

标签: powershell proxy

生产服务器发生了一些奇怪的事情,我失去了睡眠。我们使用Forefront TMG处理与外部供应商的连接。我们使用防火墙来处理网络中的请求。由于某些原因,当我尝试使用我们网络中的https请求访问API时,它正尝试通过TMG代理访问它。奇怪的是,这是不应该的,甚至从来没有做到过。就像使用代理将请求的主机名和端口缓存到其中一样。从那以后,我进入并清除了TMG客户端的缓存,但是它仍然做同样的事情。代理服务器的设置方式正确,甚至没有流量通过防火墙。我已经证实了这一点。

有人知道为什么会这样吗?

另一方面,它开始崩溃的那一天,我正在设置PowerShell脚本来访问代理以访问外部网站。我不认为我在下面使用的任何选项可以进行任何永久性更改,并且从我只能分辨出特定于脚本会话的设置变量和对象的角度来看。这是我玩过的3个选项:

# 1
$url = "https://someurl.com"
$WebProxy = New-Object System.Net.WebProxy("http://svr1.madeuptmgproxyname.com:8080", $true)
$WebClient = New-Object Net.WebClient
$WebClient.Proxy = $webproxy
$WebClient.proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
$WebClient.DownloadString($url) 

# 2 
$PSDefaultParameterValues.Add('Invoke-WebRequest:Proxy','http://svr1.madeuptmgproxyname.com:8080') 
$PSDefaultParameterValues.Add('Invoke-WebRequest:ProxyUseDefaultCredentials',$true)

# 3 
$url = "https://someurl.com"
$ProxyUri = [Uri]$null
$Proxy = [System.Net.WebRequest]::GetSystemWebProxy()
$Proxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
$ProxyUri = $Proxy.GetProxy("$url") 

0 个答案:

没有答案