首先,我为我的无知感到抱歉,但是在AWS ELB一词中,有一个概念对我来说并不十分清楚。
我在cloudfront上部署了一个前端站点,并在EC2实例中运行了一个API。
我要存档的是避免有2个域来提供相同的数据。
例如,我想使用https://example.com/post通过我的网站进行访问,您将看到该网站本身(来自Cloudfront的HTML)。
但是,如果您尝试通过HTTP / HEADER Accept: application/json
访问https://example.com/post,则可以从API服务器本身(EC2实例)查看json内容。
使用ELB可以吗?还是我必须对EC2实例进行一些欺骗,例如将nginx设置为代理并在不存在标头的情况下提供cloudfront内容?
谢谢。
答案 0 :(得分:3)
我不确定是否可以使用接受标头来完成此操作。 但是,如果您用不同的根路径将静态和动态内容分开,那么这是一个非常标准的部署。
例如,如果所有动态内容都以/api
为前缀(或者,所有静态内容都以/static/
为前缀),那么您需要的是:
/api/
路径创建行为(确保它不缓存任何内容并传递所有标头和cookie),它应指向ELB / EC2的起源。有关此方法的更多详细信息,请参阅本指南: https://aws.amazon.com/blogs/networking-and-content-delivery/dynamic-whole-site-delivery-with-amazon-cloudfront/