如何检查代理是否允许访问某个 URL 的流量?

如何检查代理是否允许访问某个 URL 的流量?

这个问题可能听起来很奇怪,但假设我要求开放到 cdn.mycompanycloud.com 的流量,因为有一个要部署的应用程序需要它。此 URL 不回复 http 请求顺便一提。

如何在安装应用程序之前检查 URL 是否已被允许?

nslookup 只会提示 DNS 服务器,所以我肯定总会得到答复。ping URL 实际上会 ping DNS 后面的 IP。

任何想法?

谢谢

答案1

如果是 https:// URL,则不得不回复 HTTP 请求,否则它就不是 https:// URL。

确实,您的示例确实响应了 HTTP 404“未找到”:

$ curl -I https://autologon.microsoftazuread-sso.com/

HTTP/1.1 404 Not Found
Cache-Control: private
Content-Length: 0
...

响应长度为零,导致大多数 Web 浏览器替换自己的错误页面,但它仍然是一个有效的响应,您可以检查它。(curl.exe顺便说一下,Windows 10 附带了。)

但是,此域名下有多个“实时”URL,例如:

https://autologon.microsoftazuread-sso.com/你的域名/winauth/trust/2005/windowstransport

当发出 GET 请求时,它会以 HTTP 200“OK”进行响应,并显示一个漂亮的基于 HTML 的错误页面,提示“该端点仅接受 POST 请求”。例如:

PS> Invoke-WebRequest https://autologon.microsoftazuread-sso.com/outlook.com/winauth/trust/2005/windowstransport

StatusCode        : 200
StatusDescription : OK
Content           : <!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
                    ...

(PowerShell 可用于检查返回 404 的 URL,但这更难。

相关内容