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

如何限制AWS API Gateway仅允许特定域名访问?

仅允许特定域名访问AWS HTTP API Gateway:CORS vs Lambda授权器

核心差异先理清

  • CORS的定位:这是浏览器层面的跨域安全机制,只约束浏览器发起的前端请求,对Postman、后端服务、爬虫这类非浏览器客户端完全无效。它的作用是让浏览器判断"是否允许当前页面域名调用该API",即便预检不通过,请求其实还是会到达API Gateway,只是浏览器会阻止前端代码获取响应。
  • Lambda授权器的作用:这是网关层面的强制访问控制,不管请求来自什么客户端,都会校验Origin请求头,不符合规则直接返回403,从根源上拦截非法请求。

选哪种?看你的实际需求

  1. 若仅需限制前端浏览器页面的跨域访问,且不介意非浏览器客户端直接调用API:用CORS配置足够,简单高效。

    • 配置方式:在API Gateway的CORS设置中,将Allowed Origins设为https://example.com,同时开启预检请求(OPTIONS)支持。
  2. 若需要彻底禁止任何非指定域名的请求(包括后端服务、爬虫等):必须用Lambda授权器,CORS挡不住这类请求。

    • Lambda授权器示例逻辑(Python):
      def lambda_handler(event, context):
          origin = event['headers'].get('origin', '').lower()
          allowed_origins = ['https://example.com']
          
          if origin in allowed_origins:
              return {
                  'principalId': 'valid-origin',
                  'policyDocument': {
                      'Version': '2012-10-17',
                      'Statement': [
                          {
                              'Action': 'execute-api:Invoke',
                              'Effect': 'Allow',
                              'Resource': event['methodArn']
                          }
                      ]
                  }
              }
          else:
              return {
                  'principalId': 'invalid-origin',
                  'policyDocument': {
                      'Version': '2012-10-17',
                      'Statement': [
                          {
                              'Action': 'execute-api:Invoke',
                              'Effect': 'Deny',
                              'Resource': event['methodArn']
                          }
                      ]
                  }
              }
      
    • 注意:HTTP API Gateway需选择Lambda类型授权器,绑定到所有需要保护的路由上。

关键提醒:别把CORS当访问控制工具

很多人误以为CORS能拦截非法请求,实际上它只是浏览器的"安全提示"——恶意请求完全可以绕过浏览器直接调用API。要实现真正的访问源限制,Lambda授权器是唯一可靠的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:44:56