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

相关文章

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

Java 关键字transient与注解@Transient的区别用途解析

《Java关键字transient与注解@Transient的区别用途解析》在Java中,transient是一个关键字,用于声明一个字段不会被序列化,这篇文章给大家介绍了Java关键字transi... 在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。当一个对象被序列化时,被

Python如何判断字符串中是否包含特殊字符并替换

《Python如何判断字符串中是否包含特殊字符并替换》这篇文章主要为大家详细介绍了如何使用Python实现判断字符串中是否包含特殊字符并使用空字符串替换掉,文中的示例代码讲解详细,感兴趣的小伙伴可以了... 目录python判断字符串中是否包含特殊字符方法一:使用正则表达式方法二:手动检查特定字符Pytho

解读@ConfigurationProperties和@value的区别

《解读@ConfigurationProperties和@value的区别》:本文主要介绍@ConfigurationProperties和@value的区别及说明,具有很好的参考价值,希望对大家... 目录1. 功能对比2. 使用场景对比@ConfigurationProperties@Value3. 核