虚拟机发布网站遇AADSTS50011错误,求HTTPS配置及免登录方案
解决Azure AD重定向URI不匹配与网站匿名访问问题
一、配置Visual Studio部署HTTPS版本的网站到虚拟机
要解决AAD重定向URI的HTTPS要求限制,按以下步骤操作:
- 在Visual Studio中启用项目SSL:打开项目属性→调试,勾选「启用SSL」,复制生成的HTTPS本地地址。切换到「发布」选项卡,选择目标虚拟机,将发布目标URL修改为HTTPS格式(如
https://arinleviti.italynorth.cloudapp.azure.com)。 - 配置虚拟机HTTPS绑定:在虚拟机的IIS管理器中找到你的网站,添加HTTPS绑定,选择SSL证书(测试环境可使用自签证书,生产环境建议使用Azure App Service证书),同时确保虚拟机防火墙开放443端口。
- 更新Azure AD应用注册的重定向URI:登录Azure门户,找到ID为
6cd54832-d1e0-4612-9a74-c441dfeaef4c的应用注册,进入「身份验证」页面,添加https://arinleviti.italynorth.cloudapp.azure.com/signin-oidc作为重定向URI,选择「Web」平台后保存。 - 修改项目配置文件:打开
appsettings.json或appsettings.Production.json,将Azure AD配置中的RedirectUri字段更新为上述HTTPS地址,确保程序调用AAD时使用正确的回调地址。
二、设置网站对所有人开放,取消强制登录
网站出现登录要求是因为默认启用了Azure AD身份验证,按以下步骤关闭:
- 移除身份验证配置:打开项目的
Program.cs(ASP.NET Core 6+)或Startup.cs,删除所有与AddAuthentication、AddOpenIdConnect相关的代码块,终止程序与Azure AD的身份验证绑定。 - 取消全局授权:如果项目中存在全局
[Authorize]特性(比如在Program.cs中通过builder.Services.AddAuthorization()设置了默认授权策略),需移除该配置;或者在所有控制器、Razor页面上添加[AllowAnonymous]特性,允许匿名访问。 - 清理配置文件:删除
appsettings.json中的AzureAd节点,避免程序加载无效的身份验证配置。 - 检查发布设置:在Visual Studio发布配置中,确保未勾选「启用身份验证」相关选项,防止部署时自动添加身份验证规则。
内容的提问来源于stack exchange,提问作者Iparalyze
相关产品推荐
相关产品推荐

