在AWS EC2 Windows实例部署Outlook Add-in遇redirect_uri_mismatch问题求助
问题描述
我们尝试在AWS EC2的Windows服务器上部署自定义Outlook插件,本地使用webpack dev server运行完全正常。但将构建包部署到IIS或通过XAMPP部署到Apache服务器时,登录后无法继续操作,出现Bad request错误,具体提示为Error: redirect_uri_mismatch,无法跳转到认证后的应用首页。不过在同一EC2实例上使用webpack-dev-server部署时,应用可正常运行。目前我们无法定位错误根源,无法完成EC2上的服务部署。
补充信息
- 截图1:显示OAuth认证错误页面,核心提示为
Error: redirect_uri_mismatch及Bad request信息 - 截图2:显示身份提供商后台的重定向URI配置界面
排查与解决建议
1. 核对OAuth重定向URI配置
redirect_uri_mismatch的核心原因是认证服务收到的回调地址,与你在身份提供商(如Microsoft Identity Platform)后台配置的地址完全不匹配:
- 确认IIS/Apache部署后的实际访问地址(例如
https://[EC2公网IP或域名]/插件路径),要和后台配置的redirect_uri完全一致,包括HTTP/HTTPS协议、端口、完整路径,不能有拼写或大小写错误。 - 本地webpack-dev-server用的
http://localhost:端口这类地址已在后台配置过,所以能正常运行,但EC2部署后地址变更,必须同步更新后台配置。
2. 检查应用内的redirect_uri配置
- 排查插件代码中是否硬编码了本地webpack-dev-server的redirect_uri,如果是,替换为EC2服务器的实际访问地址。
- 若使用环境变量管理配置,确认IIS/Apache部署时加载的是生产环境变量,而非开发环境的本地地址。
3. 配置服务器路由与HTTPS
- 如果插件是单页应用(SPA):
- IIS需添加URL重写规则,确保所有路由请求都指向
index.html; - Apache需修改
.htaccess文件配置路由 fallback,避免认证回调时出现404错误(这类错误可能被误判为redirect_uri不匹配)。
- IIS需添加URL重写规则,确保所有路由请求都指向
- 启用HTTPS:多数身份提供商要求redirect_uri必须为HTTPS(localhost除外),若EC2服务器用HTTP,建议配置SSL证书切换到HTTPS。
4. 验证回调地址的可用性
在浏览器中访问配置的redirect_uri地址,确认能正常加载插件页面,无404、500等服务器错误。如果地址不可达,认证服务会判定为无效的redirect_uri。
内容的提问来源于stack exchange,提问作者arun.subhash-IBS
相关产品推荐
相关产品推荐

