Ich habe einen Ubuntu-Server, auf dem Apache auf localhost / port 80 ausgeführt wird. Die Domain lautet sub.domain.com
Wenn ich auf diesem Computer eine Curl-Anfrage an http: // localhost stelle, tritt sofort der Fehler auf, dass keine Verbindung zum Host hergestellt werden konnte.
Wenn ich auf diesem Computer eine Curl-Anfrage an sub.domain.com stelle, befindet sich diese in einer Endlosschleife, bis nach einigen Minuten eine Zeitüberschreitung auftritt.
Wenn ich sub.domain.com in meinem Webbrowser auf einem anderen Computer öffne, wird meine HTML-Seite angezeigt.
Wenn ich mit einem anderen Computer eine Curl-Anfrage an sub.domain.com stelle, wird eine Verbindung hergestellt.
Was ist hier los?
/etc/hosts
Datei auf dem Server aus? Können Sie es der Frage hinzufügen? Und überprüfen Sie, dass/etc/nsswitch.conf
hathosts: files dns
irgendwo (es sei denn , Sie wissen , dass es anders sein sollte).netstat -anp|grep :80|grep Listen
sagt das? Hört Ihr Apache nur auf bestimmte IPs, nicht jedoch auf 0.0.0.0 oder 127.0.0.1?Antworten:
Ihr Kommentar: "Es hört auf 192.168.2.1 und dann ist ein öffentliches IP. Loopback-Gerät 127.0.0.1". Also hört Apache nicht auf 127.0.0.1? Wenn das der Fall ist, ist das Ihr Problem. Konfigurieren Sie Apache so, dass alle Schnittstellen abgehört werden, oder fügen Sie zumindest die Loopback-Schnittstelle zu dem hinzu, was Apache abhört.
Nächste Ausgabe: "Wenn ich auf diesem Computer eine Curl-Anfrage an sub.domain.com stelle, befindet sich diese in einer Endlosschleife, bis nach einigen Minuten eine Zeitüberschreitung auftritt." Was bekommst du wenn du
ping sub.domain.com
? Dieses Problem scheint ein Problem mit der Namensauflösung auf diesem Computer zu sein, da Sie eine erfolgreiche Verbindung von einem anderen Computer aus herstellen können.quelle
Sie müssen wahrscheinlich die Host-Header mit curl angeben, sonst weiß Apache nicht, welche Seite angezeigt werden soll. Je nachdem, wie Sie eingerichtet sind, zeigt localhost wahrscheinlich eine Apache-Standardseite an, während Ihr virtueller Host (sub.domain.com) dies tut Zeigen Sie die Seite an, die Sie erwarten.
Versuchen Sie es mit:
quelle
ping sub.domain.com
Führen Sie dies von einem anderen Computer aus und notieren Sie die IP-Adresse in den Antworten (xxx.yyy.zzz.www). Dann von Apache-Maschine verwenden:quelle