对于每个 HTTP 身份验证回调,按以下顺序做出凭据决定:

  1. 确认请求方是代理,而不是目标服务器。
  2. 将请求的主机和端口与已批准的代理条目匹配。
  3. 返回该条目的账户,或对不匹配的质询不提供凭据。

单个无条件的用户名/密码无法表达两个代理的账户,还可能将其泄露给其他接收方。

使用 Java 的 HTTP 客户端构建器时,优先选择附加到客户端的 Authenticator。JVM 默认的 Authenticator 也会影响其他参与代码。

任何主机别名映射都应明确定义,而不是接受任意名称。这是一种 HTTP 模式;即使主机名相似,SOCKS 也可以使用另一条实现路径。

为便于诊断,记录质询类型和匹配的账户标识符,但不要记录其机密。这样无需记录密码即可解释范围决策。

相关文章