如何修改VS 2017开发环境中Azure Function的网络绑定?
解决本地Azure Functions仅绑定127.0.0.1导致无法外部访问的问题
嘿,刚好我之前也踩过这个坑,给你两种简单靠谱的修改方法,让你的Azure Functions能被同一机器(甚至局域网内)的Python项目正常访问:
方法1:通过Visual Studio 2017调试设置直接修改
- 在VS2017里右键你的Azure Functions项目,选择属性
- 切换到调试选项卡
- 在应用程序参数(部分版本显示为“命令行参数”)中添加:
这个参数会让函数宿主绑定到本地所有可用的网络接口,而不局限于127.0.0.1--hostname 0.0.0.0 - 保存设置后重启调试,现在你的函数就能通过
http://<你的本地IP>:7071/api/YourFunctionName访问了
方法2:修改local.settings.json配置文件
- 找到项目根目录下的
local.settings.json文件(如果没有就手动新建一个) - 在文件中添加
Host节点,配置示例如下:{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "FUNCTIONS_WORKER_RUNTIME": "dotnet" }, "Host": { "Hostname": "0.0.0.0", "LocalHttpPort": 7071 } }Hostname设为0.0.0.0表示绑定所有网卡;如果只想开放给特定IP,直接替换成对应地址即可- 如果需要自定义端口,修改
LocalHttpPort的值就行
- 保存文件后重启函数,外部就能正常访问了
小提示
修改完成后,记得把Python项目里的请求地址从http://127.0.0.1:7071/api/YourFunction换成http://<你的本地IP>:7071/api/YourFunction(比如http://192.168.1.100:7071/api/YourFunction),同一机器上也可以用http://0.0.0.0:7071/api/YourFunction,但用实际IP更稳妥。
内容的提问来源于stack exchange,提问作者Goose
相关产品推荐
相关产品推荐

