You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IIS环境下同IP多域名JavaScript POST跨域预检405报错修复咨询

问题核心根因
  • 前端触发的TypeError: Preflight response is not successful、TypeError: Failed to fetch两类报错,本质是跨域预检请求未通过:浏览器对携带自定义请求头、非简单Content-Type的POST请求,会自动先发OPTIONS方法的Preflight探测请求,只有预检响应合规才会发送真实POST报文
  • 日志特征显示:故障域名的请求全部是OPTIONS方法收到405状态码,正常域名的请求直接走POST流程返回200,说明同IP下三个域名绑定的IIS站点配置不一致,故障站点未正确放行OPTIONS方法
可落地修复步骤
  • 逐站点对齐请求谓词权限
    打开IIS管理器,定位到分别绑定mydomainname.com、mydomainname.org、mydomainname.ca的三个站点入口
    进入每个站点的「请求筛选」配置,切换到「谓词」标签页,将正常运行的.ca站点的允许谓词规则,完全同步到另外两个故障站点:
    • 确认开启「允许列表中的动词」开关
    • 确保列表中包含OPTIONS方法的允许条目
  • 移除WebDAV模块对OPTIONS请求的拦截
    IIS环境下的该类405报错大部分来自默认安装的WebDAV组件,该组件会默认拦截OPTIONS请求返回405:
    进入故障站点的「模块」配置页,找到WebDAVModule条目,选择移除即可;无需全局卸载WebDAV功能,仅对故障站点移除该模块的拦截规则即可
  • 匹配CORS响应头规则
    对照.ca站点的HTTP响应标头配置,给另外两个故障站点添加完全一致的返回规则:
    • 确保Access-Control-Allow-Methods响应头包含POST, OPTIONS
    • 确保Access-Control-Allow-Origin值匹配前端页面的源地址
    • 配置OPTIONS预检请求直接返回200状态码,无需路由到后端业务处理管线
  • 配置验证
    调整完成后无需重启IIS,直接向故障域名发送测试OPTIONS请求,确认返回200状态且携带合规CORS响应头后,触发前端页面的POST请求做最终验证

内容的提问来源于stack exchange,提问作者Warren Pickell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.28 03:15:03