需为Azure Active Directory开放的端口咨询(VS2015环境)
针对Azure AD认证MVC应用的端口白名单与代理配置建议
结合你在家环境正常、公司本地IIS部署异常的场景,问题大概率出在公司防火墙/代理拦截了Azure AD认证或SQLExpress连接的必要通信。下面是你需要让IT团队配置的关键内容:
一、Azure AD认证必需的端口
Azure AD的认证流程(OAuth2/OpenID Connect)依赖以下出站端口,必须确保IIS服务器能通过这些端口访问Azure AD相关域名:
- HTTPS (443):这是最核心的端口,所有Azure AD的认证请求、令牌获取、重定向回调都通过HTTPS传输,需白名单放行IIS服务器到
login.microsoftonline.com、login.microsoft.com、aadcdn.msauth.net等Azure AD相关域名的443端口访问。 - HTTP (80):部分Azure AD的资源加载或临时重定向可能用到,作为补充建议一并白名单。
二、SQLExpress相关端口(若涉及跨机器访问)
如果你的IIS服务器和SQLExpress不在同一台机器,或者公司防火墙限制本地内部通信,需要开放:
- TCP 1433:SQLExpress默认的TCP端口(若使用默认实例);如果是命名实例,建议配置固定端口并白名单该端口,避免动态端口带来的拦截问题。
- UDP 1434:SQL Server浏览器服务端口,用于查找命名实例,若使用
.\SQLEXPRESS这类命名实例,需放行该端口的通信。
三、代理配置建议
如果公司网络强制使用代理,需确保IIS应用能正确走代理:
- 在应用的
web.config中添加代理配置,让应用继承系统代理并使用当前身份验证:<system.net> <defaultProxy enabled="true" useDefaultCredentials="true"> <proxy usesystemdefault="True" /> </defaultProxy> </system.net> - 确认IIS应用池的运行身份(比如
ApplicationPoolIdentity或自定义域账户)有权限访问公司代理服务器,且代理服务器已放行Azure AD和SQLExpress的相关域名/IP。
四、快速排查步骤
为了精准定位问题,建议先做以下测试:
- 在IIS服务器上用浏览器或命令行(
curl https://login.microsoftonline.com)测试能否访问Azure AD登录域名,若无法访问则说明443端口被拦截。 - 用SQL Server Management Studio在IIS服务器上直接连接SQLExpress实例,验证数据库连接是否正常,排查是否是数据库端口的问题。
- 查看Windows事件查看器的应用程序日志,里面会有具体的错误信息(比如“无法连接到Azure AD服务器”或“SQL Server连接失败”),这些日志能帮你快速锁定需要白名单的具体环节。
内容的提问来源于stack exchange,提问作者thanawalad
相关产品推荐
相关产品推荐

