Назад | Перейти на главную страницу

Как настроить Amazon Route53 для нескольких разных доменов на одном IP-адресе?

У меня два разных доменных имени с совершенно разными сайтами. Вот как выглядит моя конфигурация nginx:

server {
    listen 80;

    server_name domainnameone.com;

    location / {
        proxy_pass http://localhost:3000;
    }
}

server {
    listen 80;

    server_name domainnametwo.com;

    location / {
        proxy_pass http://localhost:9000;
    }
}

Первый веб-сайт хорошо разрешается для IP-адреса. Для второго домена, если я перейду на ipaddress: 9000, я получу файл, который должен соответствовать второму веб-сайту по желанию. Я пытаюсь настроить route53 для отображения веб-сайта2, когда я перехожу в www.domainnametwo.com, в настоящее время выводит первый веб-сайт. Я создал новую зону хостинга для второго веб-сайта и указал регистратору домена на значения в hostzone2. Я могу показать только второй веб-сайт, если укажу порт на www.domainnametwo.com:9000. Я должен указать, что я использую облачный интерфейс для первого веб-сайта, но я не думаю, что это должно мешать.

Это проблема nginx или route53?

Вам нужно создать server блок в nginx или используйте существующий, который содержит server_name соответствие имени хоста, которое вы пытаетесь использовать. Вы дважды использовали имена хостов, которые не показаны в опубликованной вами конфигурации nginx, поэтому вам нужно добавить их.

Это не проблема Route53. Пока ваш запрос на доменное имя отображается на правильный IP-адрес, Route53 выполняет свою работу. Вам даже не нужны разные порты, Индикация имени сервера (SNI) позволяет иметь сколько угодно IP-адресов на одном IP-адресе для http или https.

Я подозреваю, что ваша проблема связана с конфигурацией Nginx или нисходящего потока. Конфигурация, которую вы вставили выше, мне кажется правильной, но я давно не работал с Nginx.

Скорее всего, это может быть проблема nginx, вы перезапустили nginx после внесения изменений в конфигурацию?

Просто чтобы убедиться, что вы не используете ту же DNS-запись, что и для первого сайта, который будет CNAME запись, указывающая на облачный фронт.

Обновите блок сервера nginx, включив в него оба имени (голый домен + ваш www, когда вы пытаетесь получить доступ, используя в приведенном вами примере:

 server {
    listen 80;

    server_name domainnameone.com www.domainnameone.com;

    location / {
        proxy_pass http://localhost:3000;
    }
}

server {
    listen 80;

    server_name domainnametwo.com www.domainnametwo.com;

    location / {
        proxy_pass http://localhost:9000;
    }
}