为 HTTP(S) 站点设置访问密码
使用 HTTP Basic Auth 限制对 HTTP(S) 隧道和 HTTP 正向代理的访问
HTTP(S) 隧道共用服务端入口。对于开发预览、临时管理页等不应公开访问的站点,可以使用客户端的“代理认证用户名”和“代理认证密码”启用 HTTP Basic Auth。
配置方式
在 Web 管理中编辑站点所属的客户端,同时填写:
- 代理认证用户名
- 代理认证密码
两项均留空时不使用这组凭据;只有用户名和密码都非空时才启用认证。配置属于客户端,因此该客户端下的 HTTP(S) 隧道以及 HTTP 正向代理会共用同一组凭据,而不是每个域名单独设置。
使用公共验证密钥、由 npc.conf 注册临时客户端时,可在 [common] 中设置:
修改配置文件后重新连接 NPC。对于已经在 Web 管理中创建的客户端,以 Web 保存的代理认证用户名和密码为准,npc.conf 中的同名字段不会覆盖服务端客户端设置。
访问和验证
未认证访问会收到 401 Unauthorized 和 Basic challenge;HTTP 正向代理使用同一凭据时返回的是 407 Proxy Authentication Required。测试站点:
第一次应为 401,第二次应到达后端。HTTPS 必须在 NPS 上终止 TLS 才能读取认证头;未配置站点证书的 TLS 透传流量无法使用这项 HTTP 认证。
Basic Auth 只编码、不加密凭据,必须配合 HTTPS。它适合低风险临时保护,不代替应用自身的账号、权限、审计和多因素认证。