首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx 53 CNAME号公路

Nginx 53 CNAME号公路
EN

Stack Overflow用户
提问于 2015-02-05 07:21:25
回答 1查看 1.6K关注 0票数 0

我有一个域,它的DNS条目使用AWS Route53进行管理。

我在一个只有私有IP的数据中心上有30个服务器,而托管在这些服务器上的站点使用具有公共IP的nginx代理服务器加载。

为此,我创建了一个A记录(比如*.abc.com A IPofproxy),然后在代理服务器上添加了一些重定向规则来加载相应的站点。

代理服务器上的重定向规则如下:

1.abc.com重定向到1.1.1.1

2.abc.com重定向到2.2.2.2

3.abc.com重定向到3.3.3.3,等等。

但现在中国海洋生态系统面临着一个问题,

问题是,我创建了一些CNAME记录,比如:

abc.abc.com CNAME 1.abc.com

def.abc.com CNAME 2.abc.com

fgh.abc.com CNAME 3.abc.com等

然后我尝试访问上述所有域(abc.abc.com、def.abc.com等),但所有站点都指向一个服务器,这是第一个重定向规则服务器。

我是新来的,如果有人能帮我解决这个问题,那就太好了。

EN

回答 1

Stack Overflow用户

发布于 2015-02-05 18:42:45

如果我正确地理解了您的配置,那么您所遇到的问题与路由53或Nginx都没有具体的关系。

相反,它与web浏览器如何与DNS条目交互有关。任何反向代理服务器都会出现这个问题。

您必须在代理中配置每个CNAME条目,因为浏览器不关心CNAME条目--与每个请求一起发送的Host:头是浏览器开始使用的主机名,而不是浏览器在任何CNAME被遍历后最终使用的主机名。

代码语言:javascript
复制
a.example.com  IN  A     203.0.113.1
b.example.com  IN  CNAME a.example.com.

b.example.com的请求将由代理根据其b.example.com规则而不是a.example.com规则进行路由,因为CNAME不会更改浏览器的Host:报头,这几乎肯定是代理在其路由决策中使用的。

如果您希望请求b.example.com,则必须在代理中配置它,而不仅仅是在DNS中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28338288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档