我发现了大量有关如何实现代理绕过的信息,但没有找到 Windows 如何评估绕过本身的信息。
我正在寻找特定于 Windows 的信息以及操作系统如何评估这些绕过方法。
例如:
假设您有一个域名,例如“microsoft.com”,其中包含两个子域名“security.microsoft.com”和“intune.microsoft.com”。您的代理绕过列表包含以下条目:
*.microsoft.com security.microsoft.com intune.microsoft.com
我正在尝试弄清楚 Windows 会以何种顺序评估此列表。我的直觉是 Windows 将首先评估最具体的绕过,然后按列表向下进行;评估顺序为 [security.microsoft.com|intune.microsoft.com],然后是 *.microsoft.com。但是,我似乎找不到有关此的任何文档。
我意识到这个例子非常冗余而且不是一个现实世界的例子,我只是想不出一个更好的通用例子。
任何帮助都将不胜感激。
答案1
大多数组织不依赖手动输入的代理设置,而是将其系统指向集中式 PAC 文件 https://en.wikipedia.org/wiki/Proxy_auto-config
假设您有一个域名,例如“microsoft.com”,其中包含两个子域名“security.microsoft.com”和“intune.microsoft.com”。您的代理绕过列表包含以下条目:
*.microsoft.com security.microsoft.com intune.microsoft.com
我试图弄清楚 Windows 将按照什么顺序评估这个列表。
好奇心并不是坏事,但这种顺序完全无关紧要。
主机名要么与代理例外列表中的模式匹配,要么不匹配。
匹配逻辑并不重要,第一个匹配、最佳匹配、最后一个匹配,如果有任何匹配,它们都会有相同的结果:绕过代理的直接请求。
当主机名匹配两个或多个模式时,也不会产生不同的效果,多个匹配不会互相抵消,结果仍然相同:绕过代理的直接请求。
我假设代理异常列表的最大输入大小足够有限,无论使用何种存储和匹配算法都不会产生任何可衡量的性能影响。