如何配置Azure Functions(v2)接受局域网连接及VS2017端口设置
让Azure Functions v2在Visual Studio 2017中接受局域网连接的配置方法
刚好我之前也碰到过这个问题,给你整理几个靠谱的配置方法,能让Azure Functions v2监听所有网络接口,实现类似ASP.NET Core UseUrls("http://+:7071")的效果,允许手机等局域网设备连接:
方法1:修改local.settings.json配置文件
这是最持久的方式,配置后每次启动都会生效:
- 打开你的Azure Functions项目中的
local.settings.json文件(如果没有就右键项目→添加→新建项,搜索创建这个文件) - 添加或更新
Host配置段,同时记得配置CORS避免跨域问题:
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "FUNCTIONS_WORKER_RUNTIME": "dotnet" }, "Host": { "ListenAddresses": "http://0.0.0.0:7071", "LocalHttpPort": 7071 }, "CORS": "*" }
http://0.0.0.0:7071表示监听所有网络接口,这样你的手机就能通过电脑的局域网IP+7071端口访问函数(比如http://192.168.1.105:7071/api/YourFunctionName)CORS: "*"是开发阶段临时放开所有跨域请求,生产环境记得替换成具体的前端地址
方法2:修改Visual Studio调试启动参数
如果只想在调试时生效,可以直接改VS的启动配置:
- 右键你的Azure Functions项目 → 选择属性
- 切换到调试选项卡
- 在「应用程序参数」输入框中添加:
--host-startup-options "--port 7071 --listen http://0.0.0.0:7071" - 保存后启动调试,函数就会自动监听所有网络接口了
方法3:命令行手动启动(不用VS调试时)
如果习惯用命令行开发,进入项目目录后运行:
func host start --port 7071 --listen http://0.0.0.0:7071
同样能达到监听局域网的效果
验证配置是否生效
启动函数后,在浏览器里输入http://你的电脑局域网IP:7071/api/你的函数名称,如果能正常返回结果,说明配置成功,这时手机端只要和电脑在同一个局域网,用同样的地址就能调用函数啦!
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

