У меня два разных доменных имени с совершенно разными сайтами. Вот как выглядит моя конфигурация 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;
}
}