配置AWS WAF后Ajax请求报"This combination of host and port requires TLS"错误排查
AWS WAF拦截Ajax请求排查思路与解决方案
一、定位触发拦截的具体规则
- 首先开启AWS WAF全量日志(若未开启可临时开启,日志默认存储到CloudWatch Logs或指定S3桶),筛选对应Ajax请求的访问日志,直接查看
terminatingRuleId、terminatingRuleMatchDetails字段,即可明确触发拦截的规则ID、匹配到的具体请求内容。 - 如果你使用的是AWS托管Core Rule Set(CRS),可直接在WAF控制台的「受管控规则组」模块,通过规则ID匹配到具体的规则名称,常见的误拦规则包括HTTP协议校验规则、跨站脚本检测规则、请求头部校验规则等。
- 临时将疑似规则的动作从「拦截」调整为「计数」,重新发起Ajax请求测试,若请求可正常执行即可确认拦截原因。
二、常见场景的修复方案
结合你反馈的This combination of host and port requires TLS报错,优先排查以下场景:
- 若触发的是HTTP协议校验类规则:
确认所有Ajax请求均通过HTTPS 443端口发起,不要硬编码80端口;同时调整WAF的最低TLS版本要求,和ALB监听器配置的TLS最低版本保持一致,避免版本不兼容被拦截。 - 若触发的是请求头部/内容校验类规则:
大部分Ajax请求默认携带X-Requested-With头部,或者请求参数中存在特殊字符被CRS的XSS、SQL注入检测规则误判,可选择两种修复方式:- 新增自定义允许规则:针对Ajax请求的固定路径(比如
/api/*)、或者可信请求源IP配置放行规则,规则优先级设置为高于CRS托管规则组即可。 - 排除指定误拦规则:在CRS规则组的配置中,添加「要排除的规则」,将误拦截的单条规则ID加入排除列表,不需要关闭整个规则组影响整体防护能力。
- 新增自定义允许规则:针对Ajax请求的固定路径(比如
- 同步排查ALB配置(避免非WAF因素导致报错):
确认ALB的443监听器已经绑定了和域名匹配的有效SSL证书,转发目标组的协议和EC2上运行服务的端口协议适配,避免出现ALB HTTPS监听转发到EC2 80端口时协议适配错误的问题。
三、修复验证
调整配置后重新测试所有Ajax请求,同时查看WAF日志确认对应请求没有被拦截,业务功能恢复正常后,可保持WAF日志常态化开启,定期巡检拦截记录即可。
内容的提问来源于stack exchange,提问作者aleksmath
相关产品推荐
相关产品推荐

