Zugriff auf den angebundenen Server über den Android-Browser nicht möglich. (Zeitüberschreitung oder „URL gesperrt“)

Synopsis: Versuch, auf den lokalen Webentwicklungsserver zuzugreifen, der über WLAN mit Android-Tether verbunden ist. Alles scheint verbunden zu sein und ordnungsgemäß zu funktionieren, aber der Webbrowser des Telefons läuft beim Zugriff auf den lokalen Server ab.

Kontext: Ich habe ein Android-Gerät, auf dem android-wifi-tether ausgeführt wird . Es funktioniert wie beworben. Ich verbinde mich von meinem Ubuntu 12.04-Laptop mit Apache 2.2.22 damit. Der Laptop wird in der Hosts-Datei manuell auf IP 192.168.2.100 konfiguriert. Es kann sich selbst anpingen und über diese Adresse auf seinen eigenen Webserver zugreifen.

Der WLAN-Tether-Hotspot gibt dem Laptop die gleiche 192.168.2.100-Adresse (Laptop wurde als Schritt zur Fehlerbehebung so konfiguriert, dass er mit der Hotspot-Adresse übereinstimmt, und könnte falsch sein.) Mit Ping kann ich den Laptop vom Telefon aus mit der Adresse 192.168.2.100 pingen. Mit Portscan zeigt das Telefon Port 80 offen an der Adresse 192.168.2.100 an.

Es sieht also alles so aus, als wäre es vorhanden, aber jeder Versuch, zu browsen, http://192.168.2.100schlägt nach einigen Augenblicken mit einem 504 (Gateway time out) fehl.

Jede Hilfe wäre sicherlich Hilfe.

Update: Ich habe SSH installiert und auf dem Server zu Nginx migriert. Portscan zeigt jetzt die Ports 22 und 80 offen an. Mit ConnectBot kann ich mich anmelden und über die IP-Adresse meine eigene Shell auf dem Servercomputer abrufen. Dies sollte anzeigen, dass das Netzwerk ordnungsgemäß funktioniert.

Ich habe auch den Dolphin-Browser auf dem Telefon installiert, um zu überprüfen, ob es sich nicht um ein Problem mit dem Browser handelt. Trotzdem bin ich neugierig, ob der Browser tatsächlich zuerst im IP-Bereich des Hotspots nach der Adresse sucht oder ob er ins Internet schaut, wo diese Adresse immer abläuft.

Ich bin ganz neu in der Android-Szene. Ich würde mich sehr über Feedback freuen, wie ich mein Telefon dazu bringen kann, einen angebundenen Server zu durchsuchen. Der Workflow, nach dem ich suche, macht die Verbindung zu einem lokalen Server kritisch.

Danke noch einmal.

Lösung Wie ich annahm, umging die Webanforderung aufgrund der HTTP-Proxy-Einstellungen lokale Adressen. Ich habe festgestellt, dass mein Provider mit „Zugriff auf diese URL wurde blockiert“ geantwortet hat, wenn ich das Tether-Netzwerk auf 10.* IP-Bereich geändert habe. Das machte deutlich, dass etwas einige Anfragen blockierte und höchstwahrscheinlich auch die anderen im nicht routbaren Nethernet aussterben ließ. HTTP-Proxy-Einstellungen verwendet , um die HTTP-Proxy-Adresse zu löschen.

Antworten (2)

Das Problem kann durch den HTTP-Proxy-Server verursacht werden. Proxys helfen bei der Verwaltung des Webverkehrs auf der Anbieterseite, können und werden jedoch wahrscheinlich den Zugriff auf lokale Adressen stören. Proxy-Optionen sind möglicherweise in Ihren Netzwerkeinstellungen verfügbar, aber auf vielen Telefonen sind diese Optionen ausgeblendet. Eine App wie HTTP-Proxy-Einstellungen gewährt Zugriff auf die versteckten Einstellungen. Löschen Sie einfach den Hostnamen und den Port für den Zugriff ohne Proxy. Stellen Sie sicher, dass Sie die ursprünglichen Werte notieren, damit Änderungen rückgängig gemacht werden können.

Sie müssen android-wifi-tether so einstellen, dass IP-Adressen in einem anderen Subnetz ausgegeben werden als in den anderen Netzwerken, mit denen Ihr Laptop verbunden ist (z. B. Zuhause, Arbeit). Sie können dies in den Einstellungen tun.

Außerdem müssen Sie Ihren Webserver so einrichten, dass er die angegebene Adresse abhört. Basierend auf Ihrer Beschreibung verwenden Sie höchstwahrscheinlich nginx; fügen Sie in diesem Fall listen 192.168.2.100:80;dem entsprechenden serverBlock hinzu.

Das scheint nicht das Problem zu sein. Ich bin mit keinem anderen Netzwerk verbunden. Ich habe gerade auf dem Laptop auf 192.168.0.1 zurückgeschaltet und das Problem bleibt bestehen, wie es vor dem Wechsel zur ..2.100-Adresse der Fall war. Ping und Portscan zeigen beide, dass der Laptop ansprechbar ist, aber der Browser läuft ab.
Haben Sie Ihren Webserver richtig konfiguriert? Siehe aktualisierte Antwort.
Ich verwende Apache wie ursprünglich angegeben. Ich denke, ich bin richtig konfiguriert, auf Listen 80 und *:80 als virtuellen Hostnamen eingestellt. So wie ich es verstehe, wird das alles auf Port 80 abfangen.
Tut mir leid, Mike, ich habe es besser herausgefunden. Du hattest größtenteils recht. Ich kann einer Maschine keine IP zuweisen, nur einem Netzwerkgerät. Was ich in der Hosts-Datei getan hatte, fügte dieser IP-Adresse nur einen Namen hinzu, und als ich besser erfuhr, dass die IP nicht erreichbar ist, wenn die WiFi-Verbindung unterbrochen ist. Ich habe verstanden, dass die IP keinem anderen Gerät zugewiesen werden konnte, ich habe nicht verstanden, dass die IP keinem Gerät zugewiesen wurde, wenn das WLAN ausgefallen war. Mein Fehler.