Minimal API自签名证书可被Curl识别但遭EDGE浏览器拒绝
问题解决指南
一、ERR_UNSAFE_PORT 错误处理
5061是SIP协议默认端口,浏览器出于安全策略将其标记为「不安全端口」,直接访问会触发该错误,可通过以下两种方式解决:
方式1:允许Edge使用5061端口
- 右键Edge浏览器快捷方式,选择「属性」
- 在「目标」输入框末尾添加空格及参数:
--explicitly-allowed-ports=5061 - 点击「确定」后重启Edge,即可正常访问
https://localhost:5061/Hello
方式2:更换WebAPI端口(推荐)
将WebAPI端口改为浏览器默认允许的端口(如443、8443、5001等),以ASP.NET Core为例:
- 打开项目
appsettings.json文件 - 修改Kestrel的HTTPS端口配置:
"Kestrel": { "Endpoints": { "Https": { "Url": "https://localhost:5001" } } }
- 重启WebAPI服务,后续访问和调用使用新端口即可
二、HTTP站点跨域调用HTTPS API配置
从http://localhost:5062/Index.html发起Ajax请求到https://localhost:5061/something,需配置跨域规则,以ASP.NET Core WebAPI为例:
- 在
Program.cs中添加CORS服务配置:
builder.Services.AddCors(options => { options.AddPolicy("AllowLocalHttpSite", policy => { policy.WithOrigins("http://localhost:5062") .AllowAnyHeader() .AllowAnyMethod(); }); });
- 在中间件管道中启用CORS(需放在
UseRouting之后、UseAuthorization之前):
app.UseRouting(); app.UseCors("AllowLocalHttpSite"); app.UseAuthorization();
- 确保Ajax请求URL与API接口匹配,请求方式(GET/POST等)符合接口要求
内容的提问来源于stack exchange,提问作者s k
相关产品推荐
相关产品推荐

