Я пытаюсь получить доступ к www.fallenlondon.com по его IP-адресу. Однако и ebz-2-1147703023.eu-west-1.elb.amazonaws.com и 46.137.175.221 выдают ошибку сервера: 404.

У меня возникает та же проблема, если я выполняю ssh -L *:8080:www.fallenlondon.com:80 me@myremotehost а затем перехожу на localhost:8080 (это отлично работает для Google и нескольких других случайных сайтов, которые я пробовал).

Может кто-нибудь объяснить, что здесь происходит? Решение также будет высоко ценится.

Редактировать: Согласно ответу Кайла Джонса, очевидно, это вызвано тем, что информация о доменном имени (желаемое) не включена в заголовок HTTP-узла, как того требует сервер, чтобы устранить неоднозначность и дать мне желаемый результат.

Есть ли какой-то способ убедиться, что заголовок содержит то, что я хочу, в обоих случаях?


Nslookup:

nslookup www.fallenlondon.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
www.fallenlondon.com    canonical name = ebz-2-1147703023.eu-west-1.elb.amazonaws.com.
Name:   ebz-2-1147703023.eu-west-1.elb.amazonaws.com
Address: 46.137.175.221

хост:

host www.fallenlondon.com
www.fallenlondon.com is an alias for ebz-2-1147703023.eu-west-1.elb.amazonaws.com.
ebz-2-1147703023.eu-west-1.elb.amazonaws.com has address 46.137.175.221

host fallenlondon.com
fallenlondon.com has address 46.137.122.254
fallenlondon.com mail is handled by 30 aspmx3.googlemail.com.
fallenlondon.com mail is handled by 10 aspmx.l.google.com.
fallenlondon.com mail is handled by 20 alt1.aspmx.l.google.com.
fallenlondon.com mail is handled by 20 alt2.aspmx.l.google.com.
fallenlondon.com mail is handled by 30 aspmx2.googlemail.com.

1 ответ1

2

IP-адрес не обязательно уникален для определенного веб-сайта.

В течение многих лет веб-провайдеры использовали заголовок HTTP 1.1 Host для различения веб-сайтов и обслуживания нескольких веб-сайтов с одного IP-адреса. Ваш веб-браузер отправляет заголовок хоста на веб-сервер, сообщая ему доменное имя запрошенного вами сайта, и сервер отвечает правильной страницей. Если вы дадите только IP-адрес, сервер не сможет определить, какой сайт (из многих возможных за IP-адресом) вы хотите. В этой ситуации некоторые сайты возвращают общую страницу, а некоторые возвращают код ошибки в браузер.

Я думаю, вам нужно будет добавить запись для www.fallenlondon.com в /etc /hosts (или любую другую эквивалентную статическую таблицу хостов, которую поддерживает ваша система), которая указывает на 127.0.0.1. Затем вы можете использовать www.fallenlondon.com:8080 для достижения локальной конечной точки вашего туннеля, и заголовок хоста с правильным доменом будет отправлен через туннель ssh и на сервер AWS. Я попробовал это здесь, и это сработало для меня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .