Почему делает перенаправление от локального IP-адреса, принимают localhost?

Я разрабатываю веб-приложение на своем рабочем столе, и он работает на порте 80. Я могу получить доступ к приложению от своего ноутбука, подключенного к LAN путем ввода IP-адреса 192.168.1.8 LAN моего рабочего стола. Теперь, мое приложение отправляет перенаправление после входа в систему, но мой ноутбук предполагает, что заключительный адрес является localhost/login. Если я вручную ввожу в IP-адресе и URI для какой-либо страницы, это показывает, что я зарегистрирован, таким образом, это работает как ожидалось. Так, почему перенаправление принимает localhost?

Обе из моих машин основаны на Linux. Причем ноутбук является ОС Chrome. Я выполняю nginx, который проксирует нестатические запросы файла к причалу на порте 8080.

$ cat /etc/hosts
127.0.0.1 locahost
192.168.1.8 desktop
$ hostname
desktop

Перенаправление отправляется от Причала с a HttpServletResponse.sendRedirect()

TL; DR:

Laptop: Request http://192.168.1.8/login
Desktop: Respond with redirect to /index
Laptop: Redirect request to http://localhost/index

Requesting http://desktop/login doesn't work.
1
задан 16.01.2011, 20:38

3 ответа

Нет... ничего нигде, которое неявно перенаправляет к localhost. Что-то в платформе или приложении явно делает его.

1
ответ дан 17.12.2019, 00:27

При соединении с любым локальным интерфейсным адресом соединение сделано от 127.0.0.1 (локальный петлевой адрес). Это не требует перенаправления. Название этого адреса является localhost, поскольку Вы найдете в/etc/hosts. Много приложений проверят другие локальные интерфейсы на имя и использование это в предпочтении к localhost.

0
ответ дан 17.12.2019, 00:27

Причал снабжает каждый относительный URL предисловием со своим корневым доменом (в Apache, это называют "Именем сервера", не знайте о Причале), я предполагаю: Следовательно "localhost". Таким образом, необходимо заменить "localhost" чем-то, что имеет смысл для обоих компьютеров:

Вы могли сделать домен как "example.com" Вашим webroot в Причале и определить его как Ваш webroot и добавить его к файлу hosts ноутбука.

0
ответ дан 17.12.2019, 00:27

Теги

Похожие вопросы