Как перенаправить www на не-www в Route53?

Я размещаю свой сайт на domain.com,

Мои записи DNS в Route53 следующие:

domain.com      A       xxx.xxx.xxx.xxx      300
domain.com      NS      stuff.awsdns-47.org  172800
domain.com      SOA     stuff.awsdns-47.org  900

Я хотел бы перенаправить трафик с www.domain.com в domain.com, так как в настоящее время это просто возвращает 404. Этот вопрос на SO предложил PTR запись, и я добавил, что:

www.domain.com  PTR     domain.com           300

но это не сработало. Что мне делать?

7 ответов

Решение

PTR предназначен для настройки обратного IP-поиска, и вам не следует об этом беспокоиться. Убери это.

Что вам нужно, это CNAME для www:

www.domain.com  CNAME  domain.com 300

Вы также можете установить для ALIAS для WWW запись A domain.com:

www.domain.com A ALIAS domain.com 300

поэтому ваши окончательные записи DNS будут выглядеть следующим образом:

domain.com          A       xxx.xxx.xxx.xxx      300
domain.com          NS      stuff.awsdns-47.org  172800
domain.com          SOA     stuff.awsdns-47.org  900
www.domain.com      A       ALIAS domain.com (Hosted Zone ID)

Мне удалось настроить эту настройку, используя дополнительную корзину S3.

Я хочу, чтобы мой веб-сайт был доступен по адресу, отличному от www. В моем случае настроена зона хостинга маршрута 53, корзина s3 и облачный дистрибутив с пользовательским сертификатом SSL.

Я хочу перенаправить на . Для этого я настроил новую корзину s3 для . Я сделал его общедоступным и настроил статический хостинг веб-сайтов для перенаправления всех запросов. Целевой сегмент или домен — . Поскольку у меня настроен SSL-сертификатexample.com, я установил протокол https.

На маршруте 53 в зоне хостинга mydomain.com я создал новую запись A с псевдонимом, указывающим на новый веб-сайт корзины www s3.

Теперь все запросыwww.example.comперенаправить наhttps://example.com.

Надеюсь это поможет.

После того, как у вас есть CNAME для example.com и www.example.com, эта конфигурация nginx перенаправит трафик с http на https, а также со всех www.example.com на example.com.

server { 

    listen  80 ;

    server_name  example.com, www.example.com;

    rewrite ^/(.*) https://example.com/$1 permanent;
}

server {  #  redirect www to normal domain

    listen       443  ssl ;

    server_name www.example.com;

    include /etc/nginx/myprojname/include/ssl;

    return 301 https://example.com$request_uri;
}

server {

    listen  443 ssl ;

    include /etc/nginx/myprojname/include/ssl;

    server_name example.com;

    include /etc/nginx/snippets/nginx_common_location_443;

    location / {

        proxy_pass http://127.0.0.1:3000/;
    }

    include /etc/nginx/myprojname/include/custom_server_include;
}

где мой реальный сервер работает и прослушивает порт 3000 ... это также завершает мой TLS, но просто удалите упоминание о ssl... спрятанные в этих включенных файлах - мои настройки nginx, чтобы укрепить коробку

Как упоминалось выше, это невозможно со стандартным DNS.

Вот решение, которое я использовал:

  • Настройте S3 со статическим перенаправлением веб-сайта на ваш домен не из www
  • Создайте дистрибутив Cloudfront для вашего S3 (используя домен S3, а не тот, который предлагается при автозаполнении AWS)
  • Добавьте псевдоним Route 53 A Record в дистрибутив CloudFront.

Это зависит от того, как вы обслуживаете сайт. Самый простой способ — это, вероятно, обслуживание через Cloudfront. Таким образом, вы просто создадите дистрибутив Cloudfront и добавите домен www и не www в качестве псевдонима. Cloudfront позаботится об обоих.

Изучив множество онлайн-руководств, я обнаружил, что это очень просто, без необходимости использовать какой-либо сервис, кроме Route53.

Это пример конфигурации для домена с www .

Это пример конфигурации для того же домена без www .

Таким образом, вам придется снова скопировать ту же конфигурацию, включая IP-адрес, с www.domain.com на домен.com .

И все, подождите некоторое время, чтобы изменения вашего домена распространились, и вы сможете увидеть, как ваш веб-сайт загружается как в домене с www, так и без него.

Другие вопросы по тегам