Har*_*dha 8 reverse-proxy nginx http-redirect amazon-web-services amazon-cloudfront
我有一个 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;
}
Run Code Online (Sandbox Code Playgroud)
这是在服务器指令中,该指令当前向世界公开根域和前端,但现在我想将前端迁移到 S3,因此仅出于兼容性目的保留此位置块 /api,直到我更新所有客户端上的配置。
如果是这样,请建议如何完成此操作,或者您需要我方提供哪些信息来帮助完成此操作?
谢谢,
Mic*_*bot 13
api.example.com在 DNS 中创建,指向您的 API。
在 CloudFront 中创建第二个 Origin,指向api.example.com. 将“Origin Path”留空,因为它不会执行您可能假设的操作。
在 CloudFront 中创建一个新的缓存行为,路径模式为/api*. 将此指向新创建的原点。
CloudFront 会将所有对/api*to 的请求api.example.com以及其他所有内容发送到默认缓存行为源,即存储桶。
| 归档时间: |
|
| 查看次数: |
7986 次 |
| 最近记录: |