Попытка доступа к сайту по IP или использование ssh -L дает Server 404
Я пытаюсь получить доступ к http://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 ответ
IP-адрес не обязательно уникален для определенного веб-сайта.
В течение многих лет веб-провайдеры использовали заголовок HTTP 1.1 Host для различения веб-сайтов и обслуживания нескольких веб-сайтов с одного IP-адреса. Ваш веб-браузер отправляет заголовок узла на веб-сервер, сообщая ему доменное имя запрошенного вами сайта, и сервер отвечает правильной страницей. Если вы дадите только IP-адрес, сервер не сможет определить, какой сайт (из многих возможных за IP-адресом) вы хотите. В этой ситуации некоторые сайты возвращают общую страницу, а некоторые возвращают код ошибки в браузер.
Я думаю, вам нужно будет добавить запись для www.fallenlondon.com в /etc/hosts (или любую другую эквивалентную статическую таблицу хостов, которую поддерживает ваша система), которая указывает на 127.0.0.1. Затем вы можете использовать www.fallenlondon.com:8080 для достижения локальной конечной точки вашего туннеля, и заголовок хоста с правильным доменом будет отправлен через туннель ssh и на сервер AWS. Я попробовал это здесь, и это сработало для меня.