gpt4 book ai didi

amazon-web-services - CloudFront 如何从 S3 在现有分发服务网站上设置反向代理

转载 作者:行者123 更新时间:2023-12-04 23:36:15 26 4
gpt4 key购买 nike

我有一个 S3 存储桶,它托管一个网站并随 CloudFront 一起提供

现在我已将发行版附加到我的顶点根域中,例如 - www.xyz.com

因此,以前我们使用 Nginx 从同一域上的网络服务器根目录提供静态前端 - www.xyz.com 并且还设置了一个反向代理 - www.xyz.com/api/** 将流量路由到上游后端服务器在同一台机器上。

现在,我想将网站移至 S3,但仍在同一台机器上运行后端 API,为此我必须更改我的 DNS 记录并将它们指向 CloudFront 分配。

但是,那么使用 www.xyz.com/api 作为后端服务的现有和以前部署和运行的服务将中断
因此,我想将此路径模式上的所有请求转发到 http:///api 以便现有应用程序不会中断。

有没有办法实现这一目标? IE -

从 CloudFront 分配的子路径转发请求
将静态前端从 S3 交付到外部应用程序服务器?

- -更新 - -
---Nginx conf 重定向请求---

location /api/ {
proxy_pass http://localhost:4040/api/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_http_version 1.1;
}

这是在服务器指令中,该指令当前向世界公开根域和前端,但现在我想将前端迁移到 S3,因此仅出于兼容性目的保留此位置块/api,直到我更新所有客户端上的配置。

如果是这样,请建议如何完成此操作,或者您需要我方提供哪些信息来帮助完成此操作?

谢谢,

最佳答案

创建 api.example.com在 DNS 中,指向您的 API。

在 CloudFront 中创建第二个 Origin,指向 api.example.com .将“Origin Path”留空,因为它不会执行您可能假设的操作。

在 CloudFront 中创建一个新的缓存行为,路径模式为 /api* .将此指向新创建的原点。

CloudFront 将发送对 /api* 的所有请求至 api.example.com以及默认缓存行为源的所有其他内容,即存储桶。

关于amazon-web-services - CloudFront 如何从 S3 在现有分发服务网站上设置反向代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53966672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com