APIGateway 私有API的VPC endpoint是否开启DNS有什么区别

2024-06-11 10:36

本文主要是介绍APIGateway 私有API的VPC endpoint是否开启DNS有什么区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

APIGateway 私有API的VPC endpoint是否开启DNS有什么区别

未启用私有DNS

  • 从vpc内访问APIGateway regional api(非私有API)不受影响,会将APIGateway的解析为公有IP

    $ curl https://region-app-id.execute-api.cn-north-1.amazonaws.com.cn/dev
    [{"id": 1,"type": "fish","price": 249.99},{"id": 2,"type": "fish","price": 124.99},{"id": 3,"type": "fish","price": 0.99}
    ]
    
  • 从vpc内访问私有API
    无法使用私有DNS名称调用私有API,私有DNS名称没有解析结果

    $ curl https://private-app-id.execute-api.cn-north-1.amazonaws.com.cn/dev
    curl: (6) Could not resolve host: hc31cifr6a.execute-api.cn-north-1.amazonaws.com.cn
    

    使用特定于终端节点的公有DNS主机名调用私有API成功

    $ curl https://vpce-xxxxx-8xxxxxgm.execute-api.cn-north-1.vpce.amazonaws.com.cn/dev -H'x-apigw-api-id:app-id'
    [{"id": 1,"type": "dog","price": 249.99},{"id": 2,"type": "cat","price": 124.99},{"id": 3,"type": "fish","price": 0.99}
    ]
    

启用了私有DNS

  • 从vpc内访问Regional api受影响,解析为私有IP

    $ curl -v https://app-id.execute-api.cn-north-1.amazonaws.com.cn/dev
    * Host app-d.execute-api.cn-north-1.amazonaws.com.cn:443 was resolved.
    * IPv6: (none)
    * IPv4: 10.0.10.240, 10.0.150.229
    *   Trying 10.0.10.240:443...
    * Connected to cpvnfwf97a.execute-api.cn-north-1.amazonaws.com.cn (10.0.10.240) port 443
    * ALPN: curl offers h2,http/1.1
    * TLSv1.3 (OUT), TLS handshake, Client hello (1):
    *  CAfile: /etc/pki/tls/certs/ca-bundle.crt
    *  CApath: none
    * TLSv1.3 (IN), TLS handshake, Server hello (2):
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 / prime256v1 / rsaEncryption
    * ALPN: server accepted http/1.1
    * Server certificate:
    *  subject: CN=*.execute-api.cn-north-1.amazonaws.com.cn
    *  start date: Dec 17 00:00:00 2023 GMT
    *  expire date: Nov 29 23:59:59 2024 GMT
    *  subjectAltName: host "app-id.execute-api.cn-north-1.amazonaws.com.cn" matched cert's "*.execute-api.cn-north-1.amazonaws.com.cn"
    *  issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M01
    *  SSL certificate verify ok.
    *   Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
    *   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
    *   Certificate level 2: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
    * using HTTP/1.x
    > GET /dev HTTP/1.1
    > Host: app-id.execute-api.cn-north-1.amazonaws.com.cn
    > User-Agent: curl/8.5.0
    > Accept: */*
    >
    < HTTP/1.1 403 Forbidden
    < Server: Server
    < Date: Mon, 10 Jun 2024 02:26:05 GMT
    < Content-Type: application/json
    < Content-Length: 23
    < Connection: keep-alive
    < x-amzn-RequestId: 202d0b5f-744a-4b06-b129-9936e066e3be
    < x-amzn-ErrorType: ForbiddenException
    < x-amz-apigw-id: apigw-id
    <
    * Connection #0 to host cpvnfwf97a.execute-api.cn-north-1.amazonaws.com.cn left intact
    {"message":"Forbidden"}
    
  • 从vpc内访问Private api
    使用私有DNS名称调用私有API成功

    $ curl https://app-id.execute-api.cn-north-1.amazonaws.com.cn/dev
    [{"id": 1,"type": "dog","price": 249.99},{"id": 2,"type": "cat","price": 124.99},{"id": 3,"type": "fish","price": 0.99}
    ]
    

    使用特定于终端节点的公有DNS主机名调用私有API成功

    	$ curl https://vpce-xxxxx-84szh5gm.execute-api.cn-north-1.vpce.amazonaws.com.cn/dev -H'x-apigw-api-id:app-id'
    [{"id": 1,"type": "dog","price": 249.99},{"id": 2,"type": "cat","price": 124.99},{"id": 3,"type": "fish","price": 0.99}
    ]
    

这篇关于APIGateway 私有API的VPC endpoint是否开启DNS有什么区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050929

相关文章

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

native和static native区别

本文基于Hello JNI  如有疑惑,请看之前几篇文章。 native 与 static native java中 public native String helloJni();public native static String helloJniStatic();1212 JNI中 JNIEXPORT jstring JNICALL Java_com_test_g

Codeforces Round #113 (Div. 2) B 判断多边形是否在凸包内

题目点击打开链接 凸多边形A, 多边形B, 判断B是否严格在A内。  注意AB有重点 。  将A,B上的点合在一起求凸包,如果凸包上的点是B的某个点,则B肯定不在A内。 或者说B上的某点在凸包的边上则也说明B不严格在A里面。 这个处理有个巧妙的方法,只需在求凸包的时候, <=  改成< 也就是说凸包一条边上的所有点都重复点都记录在凸包里面了。 另外不能去重点。 int

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

【408DS算法题】039进阶-判断图中路径是否存在

Index 题目分析实现总结 题目 对于给定的图G,设计函数实现判断G中是否含有从start结点到stop结点的路径。 分析实现 对于图的路径的存在性判断,有两种做法:(本文的实现均基于邻接矩阵存储方式的图) 1.图的BFS BFS的思路相对比较直观——从起始结点出发进行层次遍历,遍历过程中遇到结点i就表示存在路径start->i,故只需判断每个结点i是否就是stop

javascript中break与continue的区别

在javascript中,break是结束整个循环,break下面的语句不再执行了 for(let i=1;i<=5;i++){if(i===3){break}document.write(i) } 上面的代码中,当i=1时,执行打印输出语句,当i=2时,执行打印输出语句,当i=3时,遇到break了,整个循环就结束了。 执行结果是12 continue语句是停止当前循环,返回从头开始。

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们