如何使用Ngrok为暴露到公网的网站添加访问密码验证
Ngrok公网暴露站点添加密码保护的实现方案
可以实现,Ngrok原生支持网关层的基础身份验证功能,无需修改本地站点代码即可完成配置,访问者打开你的Ngrok隧道链接时会先弹出身份校验框,输入正确账号密码才能访问站点内容。
常用配置方法
临时启动时添加参数
启动Ngrok隧道时直接追加--basic-auth "用户名:密码"参数即可生效,示例如下:
- 单账号配置:将本地80端口的HTTP服务暴露,设置账号为
admin、密码为test@2024,启动命令为:ngrok http 80 --basic-auth "admin:test@2024" - 多账号配置:重复添加
--basic-auth参数即可配置多个允许通行的账号:ngrok http 80 --basic-auth "admin:test@2024" --basic-auth "editor:edit@4567"
配置文件固定配置(适合长期使用场景)
在Ngrok的配置文件ngrok.yml中对应隧道的配置块下添加basic_auth项,无需每次启动时输参数,示例配置:
tunnels: local_web: proto: http addr: 80 basic_auth: - "admin:test@2024" - "editor:edit@4567"
配置完成后执行ngrok start local_web启动隧道即可自动加载密码验证规则。
注意事项
- 校验逻辑在Ngrok的网关层执行,未通过验证的请求不会转发到你的本地服务,安全性有保障。
- 基础身份验证功能对免费版用户开放,无付费门槛。
- 该功能仅支持HTTP/HTTPS隧道,TCP隧道无法使用,需要你在本地服务层面自行实现身份校验。
内容的提问来源于stack exchange,提问作者kks123
相关产品推荐
相关产品推荐

