根据质询身份选择 Java HTTP 代理凭据
在返回账户之前匹配请求方类型、主机和端口;与该查询无关的服务器质询应排除在外。
对于每个 HTTP 身份验证回调,按以下顺序做出凭据决定:
- 确认请求方是代理,而不是目标服务器。
- 将请求的主机和端口与已批准的代理条目匹配。
- 返回该条目的账户,或对不匹配的质询不提供凭据。
单个无条件的用户名/密码无法表达两个代理的账户,还可能将其泄露给其他接收方。
使用 Java 的 HTTP 客户端构建器时,优先选择附加到客户端的 Authenticator。JVM 默认的 Authenticator 也会影响其他参与代码。
任何主机别名映射都应明确定义,而不是接受任意名称。这是一种 HTTP 模式;即使主机名相似,SOCKS 也可以使用另一条实现路径。
为便于诊断,记录质询类型和匹配的账户标识符,但不要记录其机密。这样无需记录密码即可解释范围决策。