2016-02-26 75 views
1

所以我想有一個名爲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記錄,但很難判斷您是在詢問您的實際問題 - 或者只涉及您的嘗試解。 –

回答

1

使用A記錄和IP地址或使用ALIAS記錄指向AWS資源端點。

+0

在我看到的路由53中,ALIAS不是一個選項,對嗎? – ambe5960

2

您可以使用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