如何在Visual Studio本地运行启用HTTPS的Azure Functions v1?
本地运行Azure Functions v1启用HTTPS的支持与配置方法
首先明确回答:是的,Visual Studio本地运行的Azure Functions v1(C#)完全支持启用HTTPS,刚好能解决你HTTPS客户端无法发起HTTP请求的问题。下面是具体的配置步骤,分几种常用方式:
1. 通过Visual Studio项目属性直接配置
这是最直观的方式,适合在VS里调试时快速设置:
- 右键你的Functions项目 → 选择「属性」
- 切换到「调试」选项卡
- 在「应用URL」栏,把默认的
http://localhost:7071修改为https://localhost:7071(端口可以自定义,只要不冲突就行) - 往下滚动到「环境变量」区域,添加或修改
ASPNETCORE_URLS变量,值设为https://localhost:7071(和上面的URL保持一致) - 保存设置后,重新启动调试,此时你的函数应用就会在HTTPS端口监听请求了
2. 通过local.settings.json配置(更灵活)
如果你需要更细致的控制,比如禁用HTTP只保留HTTPS,或者配置CORS,可以修改项目根目录的local.settings.json:
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "", "FUNCTIONS_WORKER_RUNTIME": "dotnet", "FUNCTIONS_HTTPS_PORT": 7071 // 指定HTTPS监听端口 }, "Host": { "LocalHttpPort": 7071, "Http": { "Enabled": false // 禁用HTTP,只允许HTTPS请求 }, "CORS": "https://your-web-client-domain.com" // 替换成你的HTTPS客户端域名,开发环境可临时用"*" } }
修改完保存,重启函数项目即可生效。
3. 处理自签名证书信任问题
本地运行HTTPS时,VS会自动生成自签名证书,但浏览器/客户端默认不会信任它,这会导致AJAX调用失败。你需要手动信任这个证书:
- 证书文件通常存放在
%APPDATA%\ASP.NET\Https目录下,文件名对应你的项目名称(比如YourFunctionProject.pfx) - 双击证书文件,选择「安装证书」→ 选择「本地计算机」→ 下一步 → 选择「将所有证书放入下列存储」→ 点击「浏览」→ 选择「受信任的根证书颁发机构」→ 完成安装
- 重启浏览器后,访问
https://localhost:7071/api/YourFunctionName就不会再提示不安全了
4. 用Azure Functions Core Tools启动(可选)
如果你习惯用命令行运行项目,也可以用Core Tools启动时指定HTTPS:
func start --port 7071 --https
同样会启用HTTPS监听,证书信任的处理和上面一致。
最后提醒:跨域AJAX调用一定要配置正确的CORS规则,否则即使HTTPS配置好了,客户端也会因为跨域策略被拦截。开发环境可以临时用"*"允许所有,但生产环境一定要指定具体的客户端域名。
内容的提问来源于stack exchange,提问作者stormtrooper
相关产品推荐
相关产品推荐

