域名系统 (DNS) 问题:(也在 stack-overflow 上提问)
我有一个 Amazon Web Services (AWS) Elastic Beanstalk (EB) 网站,其中可能有数千个子域。
显然,无法在 AWS 中使用 A 记录,因为它们会进行服务器平衡并且具有不断变化的 IP 地址。
到目前为止我已经设置了 CNAME 记录:
www CNAME http://mysite.elastic-beanstalk.com.
以及一个网络转发,用于处理对“裸”域的请求。
@ / http://mysite.elastic-beanstalk.com
我现在需要将子域名 URL 映射到正确的位置:
url typed and seen by the user >> currently live and working page
subdomain1245.mysite.com >> http://subdomain1245.mysite.elastic-beanstalk.com
,
www.subdomain1245.mysite.com >> http://subdomain1245.mysite.elastic-beanstalk.com
...x1000
我能找到的最接近的教程提到了“通配符”DNS匹配,例如:
* CNAME http://mysite.elastic-beanstalk.com.
我尝试了后者,从测试结果来看,它只是将所有子域重定向到主域。
我需要子域名保留在 URL 中显示,并重定向到子域名页面。
如果有人能够展示 - 最好能够解释 - 一种策略,那将会非常有帮助!
*******更新*********
新线索:
使用* CNAME http://mysite.elastic-beanstalk.com.
,访问
subdomain1245.subdomain1245.mysite.com
提供正确的页面(subdomain1245.mysite.elastic-beanstalk.com)。
我们发现了另一个可能的选择:删除* CNAME http://mysite.elastic-beanstalk.com.
DNS 记录,改用 Web Forward:
* / http://mysite.elastic-beanstalk.com
虽然这似乎也需要一些服务器配置……(???)
该应用程序是rails,AWS EB实例类型是ruby 2.0 airline-standalone。
似乎修改 EB 服务器的惯例是通过文件夹.config
中的文件/var/app/current/.ebextensions/
(位于 rails 项目根目录中,并添加到项目 git repo 中)。
不知道如何使用(phusion)乘客处理子域,或者如何通过.ebextensions/???.config
文件进行配置......
我们走在正确的道路上吗?嗯
谢谢,
皮特
答案1
啊!最后是 rails 配置问题!
--config ----settings ------production.yaml
subdomain: tld_length: 1 domain: 'webweka.com'
tld_length 设置为 2,用于处理子域名 elastic beanstalk 地址 xxx.elasticbeanstalk.com
将其设置回 1 已正确传递子域名!
哎呀……