Я размещаю свой сайт в 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
но это не сработало. Что мне делать?
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)
После того, как у вас есть 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 для усиления защиты
Мне удалось это настроить, используя дополнительную корзину S3.
Я хочу, чтобы мой веб-сайт был доступен без www example.com
. В моем случае, example.com
настроен с размещенной зоной маршрута 53, корзиной s3 и облачным распределением с настраиваемым сертификатом ssl.
я хочу www.example.com
перенаправить на example.com
. Для этого я установил новое ведро s3 для www.example.com
. Я установил это на общественный и настроить статический хостинг веб-сайтов для перенаправления всех запросов. Целевой сегмент или домен example.com
. Поскольку у меня есть сертификат ssl, настроенный на example.com
, Я установил протокол https.
На маршруте 53 в зоне хостинга mydomain.com я создал новую запись A для www.example.com
с псевдонимом, указывающим на новый веб-сайт корзины www s3.
Теперь все запросы к www.example.com
перенаправить на https://example.com
.
Надеюсь это поможет.
Как упоминалось выше, со стандартным DNS это невозможно.
Вот решение, которое я использовал:
Изучив множество онлайн-руководств, я обнаружил, что это было очень просто, без необходимости в каких-либо услугах, кроме Route53.
Это пример конфигурации для домена с www,
Это пример конфигурации для того же домена без www,
Итак, в основном вам нужно снова скопировать ту же конфигурацию, включая IP-адрес, из www.domain.com к domain.com.
И это нужно подождать некоторое время, чтобы изменения вашего домена распространялись, и вы сможете увидеть, как ваш сайт загружается как в домене с www, так и без него.