如何根据域名阻止对我的 api-gateway url 的任何请求?

Posted

技术标签:

【中文标题】如何根据域名阻止对我的 api-gateway url 的任何请求?【英文标题】:how to block any request to my api-gateway url based on domain name? 【发布时间】:2021-08-19 10:28:58 【问题描述】:

我有 2 个设置,

1) Cloud-Front -> Api-Gateway -> Lambda 
2) Cloud-Front -> S3 bucket (enabled web server) -> static UI files

现在有什么方法可以阻止我的第一个云前端 URL 以仅允许来自我的 UI 云前端域名的请求?即如果浏览器正在进行后端 api 调用,那么它应该可以工作。但是,如果从浏览器外部的 POSTMAN / CURL 发出相同的 api 调用,那么它应该被阻止。 我尝试使用特定域名启用 CORS,当我们从“Curl”执行时它不会阻止请求

【问题讨论】:

【参考方案1】:

一种方法是为您的 CF 域设置 WAF,以使用 Referer 标头过滤传入请求。这个过程在:

How to Prevent Hotlinking by Using AWS WAF, Amazon CloudFront, and Referer Checking

如果您不想使用 WAF,也可以使用 lambda@edge 或 CF functions 执行相同操作。

【讨论】:

以上是关于如何根据域名阻止对我的 api-gateway url 的任何请求?的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止来自未知域/IP 对我的 REST API 的调用?

如何阻止 Go gorm 在 Postgres 中对我的自引用外键强制非空约束

阻止指向您的其他域名

如何在 PHP 中替换/转义 U+2028 或 U+2029 字符以阻止我的 JSONP API 中断

如何在 PHP 中替换/转义 U+2028 或 U+2029 字符以阻止我的 JSONP API 中断

阻止 IQKeyboardManager 删除我的导航栏