如何配置Sabre Concierge ngv,允许局域网其他机器访问?
问题描述
我正在进行Sabre Red Web开发,已在Mac上安装Concierge。执行命令nvg run后,服务仅允许localhost连接,相关日志如下:
QIV223356 [WATCH] .......... SUCCESS! PLEASE REFRESH (CTRL+SHIFT+R) SABRE RED WEB .............
QIV223356 [WATCH] Hit Ctrl+C/Cmd+C to exit or type task name and hit ENTER to execute it (defaults to build)
QIV223356
QIV223356 URL to copy to RedApp Development panel:
QIV223356 http://localhost:8080
请问如何配置它,使其能够为局域网内的其他机器提供服务?Concierge基于Node和NPM运行,应该存在对应的配置文件。
环境信息:URW131723 Sabre Concierge 7.5.18 | Node 18.12.0 | NPM 8.19.2 | com-ifuture-web-imm-web-module | help --color | Darwin Kernel Version 24.3.0: Thu Jan 2 20:24:06 PST 2025; root:xnu-11215.81.4~3/RELEASE_ARM64_T8103 x64 | CPUx8 | mem=485/8192 | 2025-03-28T13:17:23.936Z
解决方案
方法1:修改Concierge配置文件
- 找到项目根目录下的
concierge.json(若不存在,可检查package.json或项目自定义配置文件) - 在配置的服务器相关节点中,添加或修改
host字段为0.0.0.0,让服务监听所有网络接口:
{ "server": { "host": "0.0.0.0", "port": 8080 } }
- 保存配置后重新执行
nvg run,此时服务会绑定所有可用IP,局域网内其他机器可通过你的Mac局域网IP(如http://192.168.x.x:8080)访问。
方法2:命令行参数临时指定host
直接在执行命令时添加--host参数,无需修改配置文件:
nvg run --host 0.0.0.0
执行后服务会临时监听所有网络接口,同样可用局域网IP访问。
验证与注意事项
- 配置完成后查看日志,确认输出的URL包含你的局域网IP或显示
0.0.0.0:8080 - 局域网内其他机器访问时,需输入
http://[你的Mac局域网IP]:8080 - 确保Mac防火墙未阻止8080端口入站连接,若有拦截,可在「系统偏好设置-安全性与隐私-防火墙」中添加允许规则。
内容的提问来源于stack exchange,提问作者James McCarthy

