Попытка доступа к сайту по IP или с помощью ssh -L выдает Server 404

Попытка доступа к сайту по IP или с помощью ssh -L выдает Server 404

Я пытаюсь получить доступ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-адреса. Ваш веб-браузер отправляет заголовок Host на веб-сервер, сообщая ему доменное имя запрошенного вами сайта, и сервер отвечает правильной страницей. Если вы указываете только IP-адрес, сервер не может определить, какой сайт (из многих, возможно, за IP-адресом) вам нужен. В этой ситуации некоторые сайты возвращают общую страницу, а некоторые возвращают браузеру код ошибки.

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

Связанный контент