Не удается получить доступ к привязанному серверу из браузера Android. (Время истекло или "URL заблокирован")

Сводка: Попытка получить доступ к локальному серверу веб-разработки, подключенному через Wi-Fi к привязке Android. Кажется, что все подключено и работает правильно, но время ожидания веб-браузера телефона истекает при доступе к локальному серверу.

Контекст: у меня есть Android-устройство с android-wifi-tether . Это работает, как рекламируется. Я подключаюсь к нему со своего ноутбука с Ubuntu 12.04 под управлением Apache 2.2.22. Ноутбук вручную настроен на IP 192.168.2.100 в файле hosts. Он может пинговать себя и получать доступ к своему собственному веб-серверу через этот адрес.

Точка доступа Wi-Fi дает ноутбуку тот же адрес 192.168.2.100 (ноутбук был настроен на соответствие адресу точки доступа в качестве шага по устранению неполадок и мог ошибаться). Используя ping , я могу пропинговать ноутбук с телефона, используя адрес 192.168.2.100. Используя portscan , телефон показывает, что порт 80 открыт на адресе 192.168.2.100.

Итак, все выглядит так, как будто все на месте, но любая попытка перейти на сайт http://192.168.2.100терпит неудачу через несколько секунд с ошибкой 504 (время ожидания шлюза истекло).

Любая помощь, безусловно, будет помощью.

Обновление: я установил SSH и перешел на Nginx на сервере. Portscan теперь показывает открытые порты 22 и 80. Используя ConnectBot, я могу войти и получить свою собственную оболочку на сервере по IP-адресу. Это должно указывать на то, что сеть работает нормально.

Я также установил на телефон браузер Dolphin, чтобы убедиться, что проблема не в браузере. Тем не менее мне любопытно, действительно ли браузер сначала ищет адрес в IP-пространстве точки доступа, или если он смотрит в Интернет, где этот адрес всегда истекает.

Я очень новичок в мире Android. Я был бы очень признателен за отзывы о том, как заставить мой телефон просматривать привязанный сервер. Рабочий процесс, который я ищу, делает подключение к локальному серверу критически важным.

Еще раз спасибо.

Решение Как я и предполагал, из-за настроек прокси-сервера HTTP веб-запрос обходил локальные адреса. Я обнаружил, что если я изменю диапазон IP-адресов на 10. *, мой провайдер ответит: «Доступ к этому URL-адресу заблокирован». Это сделало очевидным, что что-то блокировало некоторые запросы и, более чем вероятно, также оставляло другие умирать в немаршрутизируемой сети. Использованы настройки прокси-сервера HTTP для очистки адреса прокси-сервера HTTP.

Ответы (2)

Проблема может быть вызвана прокси-сервером HTTP. Прокси помогают управлять веб-трафиком на стороне провайдера, но могут и, вероятно, нарушат доступ к локальным адресам. Параметры прокси-сервера могут быть доступны в настройках вашей сети, но на многих телефонах эти параметры скрыты. Приложение, такое как « Настройки прокси-сервера HTTP », предоставит доступ к скрытым настройкам. Просто очистите имя хоста и порт для доступа без прокси. Обязательно запишите исходные значения, чтобы изменения можно было отменить.

Вам нужно настроить android-wifi-tether для выдачи IP-адресов в подсети, отличной от других сетей, к которым подключается ваш ноутбук (например, домашняя, рабочая). Вы можете сделать это в его настройках.

Вам также необходимо настроить веб-сервер для прослушивания данного адреса. Судя по вашему описанию, вы, скорее всего, используете nginx; в этом случае добавьте listen 192.168.2.100:80;в соответствующий serverблок.

Это, кажется, не проблема. Я не подключен ни к каким другим сетям. Я только что переключился обратно на 192.168.0.1 на ноутбуке, и проблема не устранена, как и до того, как я изменил адрес на ..2.100. Пинг и сканирование портов показывают, что ноутбук доступен, но время ожидания браузера истекает.
Вы правильно настроили веб-сервер? Смотрите обновленный ответ.
Я использую Apache, как было заявлено изначально. Думаю, я правильно настроил, установил Listen 80 и *:80 в качестве имени виртуального хоста. Я так понимаю, что на 80 порту будет ловить что угодно.
Извини, Майк, я во всем разобрался. Вы были в основном правы. Я не могу назначить IP машине, только сетевому устройству. То, что я сделал в файле hosts, только поместило имя в этот IP-адрес, и, как я понял, IP недоступен, если соединение WiFi не работает. Я понял, что IP-адрес не может быть назначен другому устройству, я не понял, что если Wi-Fi не работает, IP-адрес не может быть назначен ни одному устройству. Моя вина.