这个问题可能听起来很奇怪,但假设我要求开放到 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,但这更难。)