强制使用 Basic 或 Digest 前,先阅读代理 Proxy-Authenticate 中的质询。客户端必须支持服务提供的方法;选择 Digest 并不能让只支持 Basic 的代理新增 Digest 能力。

对于支持 Digest 的端点,curl 可以这样使用:

curl --proxy http://proxy.example:3128 --proxy-digest --proxy-user alice --connect-timeout 5 --max-time 15 https://example.com/

使用真实端点和账户。只给用户名、不带密码时,curl 可以提示输入密码。使用 Basic 时选择 --proxy-basic;源站认证使用不同选项。除了质询,还要检查实际运行的 curl 构建所支持的功能。

方法凭据交换需要评估的保护
Basic经过编码的用户名与密码组合。编码并不是加密。
Digest根据质询生成的应答。保护能力取决于算法、质询参数和客户端实现;该方法本身仍不加密请求与响应内容。

两者仍然需要合适的客户端到代理传输。目标站的 HTTPS 启动得太晚,无法保护此前已经发生的明文代理登录。

在服务端,Digest 辅助程序可能要求针对特定 realm 的凭据材料及自己的格式。Basic NCSA 文件不会自动成为 Digest 后端。按所选辅助程序的文档格式配置,再检查缺少凭据、错误凭据和已获授权的请求,同时保持来源与目标限制生效。

相关文章