同一域上的 CloudFront 静态网站和 EC2 API

2023-12-12

我的静态网站托管在 CloudFront 上。

有没有办法让我使用相同的域名但不同的端口来调用 EC2 实例的 API?

Eg. example.com:3000应重定向到 EC2 实例,而example.com (aka example.com:443 or example.com:80) 应重定向到 CloudFront。


无法根据端口号识别目标主机。 DNS 名称本身就决定了您的浏览器连接到的位置。

但是,您仍然可以实现您想要的,只是不通过端口号。

您可以将 CloudFront 分配配置为根据 URL 中的路径将请求转发到静态网站或 API。

为此,您需要在 CloudFront 分配中配置多个源和多个行为:

  • /api/*-> EC2 起源
  • 其他一切 -> 静态网站来源

对于您的浏览器来说,它显示为单个网站。当您请求时https://www.example.com/page1.html,CloudFront会将请求转发到静态网站。当您请求时https://www.example.com/api/MyRestMethod,CloudFront 会将请求转发到您的 EC2。

这还允许您在 API 和静态网站之间使用相同的 ACM 证书进行 HTTPS。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同一域上的 CloudFront 静态网站和 EC2 API 的相关文章

随机推荐

  • Pandas 反向分割函数

    我有一个 Pandas Dataframe 其中有一列 如下所示 Car Make 0 2017 Abarth 124 Spider ManualConvertible 1 2017 Abarth 124 Spider AutoConver
  • 已过时 - 关键帧之间的 FFMPEG 解码伪影

    将问题标记为过时 因为使用已弃用的 avcodec decode video2 I m currently experiencing artifacts when decoding video using ffmpegs api On wh
  • 在 Tkinter 上显示标签一段固定的时间

    我正在使用 Tkinter 在 Python 2 7 中创建一个 GUI 应用程序 我有这段代码 vis Label pur text Purchase Added successfully font 8 vis place x 150 y
  • 如何将 Intel 80386 机器代码转换为汇编语言?

    我被赋予以下任务 考虑以下十六进制值序列 55 89 E5 83 EC 08 83 E4 F0 31 C9 BA 01 00 00 00 B8 0D 00 00 00 01 D1 01 CA 48 79 F9 31 C0 C9 C3 该字节
  • 将表 A 中的行移动到表存档中

    是否可以每周自动将 3 天前的行移动到 mysql 中另一个名为 Table Archive 的表中 表A例如 ID stringvalue Timestamp 1 abc 2011 10 01 2 abc2 2011 10 02 3 ab
  • JPA/Hibernate 提高批量插入性能

    我有一个数据模型 该模型在 1 个实体和 11 个其他实体之间具有一对多关系 这12个实体一起代表一个数据包 我遇到的问题与这些关系的 多 侧发生的插入数量有关 其中一些可以有多达 100 个单独的值 因此要将整个数据包保存在数据库中 最多
  • git如何存储文件?

    我刚刚开始学习 git 为此我开始阅读Git 社区书籍 在这本书中他们说SVN和CVS存储文件之间的差异 而git存储所有文件的快照 但我不太明白他们所说的快照是什么意思 git 真的会在每次提交时生成所有文件的副本吗 因为这就是我从他们的
  • C++ 随机数

    在以下情况 http www fredosaurus com notes cpp misc random html 它提到如果我们想生成一个范围内的随机数1 10 我们可以执行以下操作 r rand 10 1 为什么我们要添加1 您能解释一
  • iPhone URL 编码问题

    有一个小问题 尝试将 XML 发布到服务器 为此 我必须以 URL 格式对 XML 字符串进行编码 NSString encodedString NSString stringWithFormat xmlValue post stringB
  • Bash Shell:无法使用变量 $ 作为运行 tar 的路径

    这是一个非常简短的问题 但是放置变量是否存在语法错误 example作为 bash 文件中 tar 的参数 我将文件写为 only portion that really matters bin bash tar cvpzf filenam
  • ItemCommand 在 Repeater 或 GridView 中第一次单击时不会触发

    这两天已经让我发疯了 希望有人以前见过这个 我遇到这样的问题 第一次单击中继器或网格视图中的控件无法触发 ItemCommand 事件 但所有后续单击都有效 控件被加载到 Base aspx 上的占位符中 如下所示 private void
  • Cordova Web视图在android中清除缓存

    我正在尝试清除存储在使用 cordova webview 的 android 应用程序中的缓存 我尝试过cordovaWebView clearCache true 还尝试过 public void deleteCache Context
  • uintptr_t 数据类型是什么?

    What is uintptr t它可以用来做什么 首先 在提出问题时 uintptr t不是用C 写的 它在 C99 中 在
  • 如何在 Android 中将颜色 LUT 应用于位图图像以获得滤镜效果?

    这里我有一个关于 android 中的 LUT 的问题 我的问题是 我有 4X4 LUT 使用这些 LUT 对 Android 中的位图图像应用滤镜效果 下面是我的示例 LUT 文件链接 Lut 链接示例 在安卓上可以实现吗 如果可以的话请
  • 如何在 Eclipse Juno/Kepler/Luna CDT 中启用 C++11?

    编辑 事实证明这确实不是 Eclipse Kepler 特有的 我必须对 Eclipse Juno 使用相同的过程 问题是 在回答同一问题的其他帖子中似乎缺少步骤 我正在使用 Eclipse Kepler for C 并尝试使用 C 11
  • 在 Linux 中混合使用 32 位和 64 位库 (gcc)

    我有一个为 Linux 使用 gcc 构建的 32 位纯二进制 C so 由供应商提供 我需要链接到 64 位 C C 应用程序 我正在开发 有什么方法可以从我的应用程序访问这个库吗 我知道需要小心处理 so 内部函数的参数和指针 而且我知
  • 如何将向量转换为Json对象? C++

    我有一个 RoomData 对象向量 这是该对象 typedef struct RoomData unsigned int id std string name std string maxPlayers unsigned int ques
  • setTimeout 循环。如何获得正确的订单

    我试图在循环中调用一个函数以实现不同的超时或延迟 for var i 0 i lt 10 i callDelayedFunction i function callDelayedFunction i setTimeout function
  • 将多个对象从 Angular 控制器发布到 Web API 2

    我能够从我的角度控制器发送一个原始 json 对象 该对象在我的 web api 方法中反序列化为已知类型 这很棒 但我现在需要能够在同一请求中发送其他参数 这些参数可以是 json 对象或简单类型 如 string 或 int 我看过类似
  • 同一域上的 CloudFront 静态网站和 EC2 API

    我的静态网站托管在 CloudFront 上 有没有办法让我使用相同的域名但不同的端口来调用 EC2 实例的 API Eg example com 3000应重定向到 EC2 实例 而example com aka example com