Я запускаю проприетарное приложение Windows, которое работает как сервер. Вы устанавливаете программу, а затем она транслирует себя через порт 13083. Программа является веб-интерфейсом, поэтому доступ к ней осуществляется полностью через браузер.
http://localhost:13083
в адресной строке программа загружается успешно. ✓http://127.0.0.1:13083
в адресной строке программа загружается успешно. ✓http://192.168.1.133:13083
в адресной строке программа не загружается. ✗(IP-адрес моего компьютера в локальной сети - 192.168.1.133.)
Моя теория заключается в том, что это проприетарное приложение Windows смотрит на запрос хоста и реагирует только в том случае, если оно видит либо «localhost», либо «127.0.0.1». Это прискорбно, потому что я действительно хотел бы получить доступ к той же программе с другого компьютера в локальной сети без необходимости устанавливать программу дважды. Но так как я должен введите 192.168.1.133 на втором компьютере, чтобы добраться туда, мне интересно, есть ли какое-то волшебство, которое можно сделать, чтобы сделать этот запрос выглядит как он просит о другом.
Мой вопрос: Есть ли способ настроить мой маршрутизатор так, чтобы запросы с другого компьютера в локальной сети на адрес 192.168.1.133 создавали впечатление, будто они пытаются получить доступ к 127.0.0.1? Или это практически невозможно? Я вроде как думаю, что это будет невозможно, но все же думал, что спрошу.
Это не проблема вашего роутера. Эта программа слушает 127.0.0.1. Даже если ваш маршрутизатор подделывает IP-адрес 127.0.0.1, ваша система будет отбрасывать пакеты в целях безопасности, поскольку 127 является зарезервированным сегментом частного адреса для локального хоста.
Я предлагаю либо изменить настройку программы, либо установить локальный прокси-сервер пересылки портов, прослушивающий 192.169.1.133, чтобы перенаправлять весь трафик на 127.0.0.1.
Вы можете использовать «socat».
У программы есть файл конфигурации? Где-то в настройках конфигурации должны быть адрес прослушивания и порт. IP-адрес необходимо изменить, чтобы прослушивать IP-адрес хост-системы, а не адрес localhost или 127.0.0.1, поскольку они ограничены локальным доступом, если они установлены.
С названием программы смогу помочь поподробнее.
Ура.
Какое поведение проявляется, когда он не загружается - в соединении отказано, тайм-аут соединения или страница 403 запрещена? Если это один из первых двух, вполне вероятно, что здесь серверное программное обеспечение настраивает прослушивающий сокет, который привязан конкретно к localhost (127.0.0.1). Вы можете проверить, запустив netstat:
C:\>netstat -na
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 127.0.0.1:5152 0.0.0.0:0 LISTENING
Здесь некоторый сервер, прослушивающий порт 5152, принимает соединения только с адресом обратной связи (localhost), где сервер на порту 445 будет прослушивать все сетевые адаптеры на этом компьютере. Большинство пакетов позволяют каким-либо образом настроить адрес прослушивания; те, которые по умолчанию используют только localhost, как правило, делают это, чтобы убедиться, что вы прочитали файл конфигурации (и, надеюсь, документацию), часто, поскольку есть другие вещи, которые нужно настроить для правильного использования программного обеспечения.