CNAME为

问题描述:

所以我想有一个名为doggs.com区下面的设置要尽量赶上拼错的域名没有小号#AWS站点转发:CNAME为

doggs.com  NS  ns-1485.awsdns-03.co.uk. 
         ns-265.awsdns-32.com. 
         ns-634.awsdns-16.net. 
         ns-1510.awsdns-59.org. 
doggs.com  SOA  ns-1485.awsdns-03.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400 
*.doggs.com CNAME doggs.com 
doggs.com  CNAME proxy.dogs.com 

但不幸的是它不会让我进入最后CNAME并引发以下错误:

RRSet of type CNAME with DNS name doggs.com. is not permitted at apex in zone doggs.com. 

我应该如何设置这个到doggs.com域名重定向到我需要的主机,而无需使用S3的设置,人们普遍对AWS使用。

+0

** DNS不会“重定向”任何**。仅DNS *解析*。重定向需要某种Web服务器的参与。如果您正在使用S3,ELB或CloudFront,则可以使用Route 53中的别名来解析此服务器的A记录,但很难判断您是在询问您的实际问题 - 或者只涉及您的尝试解。 –

使用A记录和IP地址或使用ALIAS记录指向AWS资源端点。

+0

在我看到的路由53中,ALIAS不是一个选项,对吗? – ambe5960

您可以使用A记录并将其直接指向EC2实例的IP地址,而不是为该apex域使用CNAME记录。 (如果您需要IP地址永远不会更改,或者您信任EC2实例的稳定性,则可以使用弹性IP,您可以使用实例的公共IP地址。)

然后,在该实例中,您运行一个HTTP服务器,其唯一目的是发送HTTP重定向到您的proxy.dogs.com服务器。例如,使用nginx,这样的配置可能类似于:

server { 
    listen  123.45.678.90:80; 
    server_name doggs.com; 
    error_log /var/log/httpd/domains/doggs.com.error.log error; 

    # Always redirect to HTTPS 
    redirect 301 https://proxy.dog.com$request_uri; 
} 

server { 
    listen  123.45.678.90:443 ssl; 
    server_name doggs.com; 
    error_log /var/log/httpd/domains/doggs.com.error.log error; 
    ssl_certificate /path/to/server.crt 
    ssl_certificate_key /path/to/server.key 

    # Always redirect to HTTPS 
    redirect 301 https://proxy.dog.com$request_uri; 
} 

希望这有助于!

+0

我最终只使用了一个记录,但是谢谢你的详细解答......我相信第二部分会帮助某人出众。我会用nginx标记问题。 – ambe5960