亚马逊ec2 – 通配卡子域

我在ubuntu运行灯栈上运行一个ec2实例。 我configuration了我的httpd.conf文件,以支持通配符子域,但它没有工作。

我的httpd.conf文件

NameVirtualHost * <VirtualHost *> DocumentRoot /www/example ServerName example.com ServerAlias *.example.com </VirtualHost> 

我尝试了所有可能的解决scheme,但他们没有工作。 最后,我使用亚马逊Route-53来设置通配符DNS,将所有* .example.comredirect到example.com。 我的问题是,

  1. 如果我使用Route-53而不是httpd.conf文件作为通配子域,可以吗?
  2. 在我的httpd.conf文件中是否有错误? ( 注意:我使用了与其他托pipe提供程序相同的httpd.conf设置,并且在那里完美运行。)

附加信息 :

 VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server example.com (/etc/apache2/httpd.conf:1) port 80 namevhost example.com (/etc/apache2/httpd.conf:1) port 80 namevhost ip-xx-xxx-xx-xxx.ec2.internal (/etc/apache2/sites-enabled/000-default:1) Syntax OK 

没有“而不是” – 为了使通配符域正常工作,你需要两个。

  • 名称parsing需要将客户端发送给将要提供内容的正确主机
  • 您的Web服务器必须回答请求发送请求的域。

既然你现在有通配符的DNS,并且你的Apache服务器应该用这个虚拟主机来响应所有的请求(是的,这是正确的),那么它应该是正常的。

首先,validation您的客户端系统是否parsing了正确的名称; ping通配符中的地址。 在添加通配符条目之后,这不会立即起作用,因为DNS(包括否定响应)会被严重caching。

如果这是正确的服务器,那么你应该validation是否正在使用正确的虚拟主机的请求。 你可能有一些其他的虚拟主机获取请求 – 你能提供给我们apache2ctl -S的输出吗?