2016-05-20 20 views
0

Ich arbeite an einer klassischen jsp-App, die auf ubuntu/tomcat6 gehostet wurde und vor kurzem von Rackspace nach AWS verschoben wurde. Wenn ich die Site über die IP-Adresse öffne, kann ich auf Dateien und Bilder im Ordner webroot/userFiles zugreifen. Wenn ich auf die URL zugreife, geben diese Dateien und Bilder einen Fehler 404 zurück. Alles andere auf der Website funktioniert nach beiden Konventionen.Dateien und Bilder sind bei der Verwendung von URL nicht sichtbar, funktionieren aber bei Verwendung der IP-Adresse

Mit anderen Worten: das funktioniert:

http://xx.xx.xx.xx/userFiles/image1234.png

dies nicht funktioniert (liefert 404):

http://mainsiteurl.com/userFiles/image1234.png

Jede Idee, was die 404 verursacht werden könnte? Ich kann sehen, dass die DNS korrekt aufgelöst wird und alles andere auf der Seite scheint gut zu laufen.

Antwort

1

Es stellt sich also heraus, dass die Leute, die den Server eingerichtet hatten, die Site zweimal installiert hatten und sie nicht richtig konfiguriert hatten. Einer war in der Basis-Tomcat-Installation und einer war in einem separaten Ordner. Ich musste im Grunde eine der Seiten alle zusammen säubern und behandle den Server (korrekt) so, als ob nur eine Seite installiert wäre. Danke für die Hilfe an alle.

0

Es ist schwer, eine Antwort ohne weitere Fehlersuche zu geben. Also, nach der DNS-Auflösung, was bekommst du in der Browser-Netzwerk-Trace? Verwenden Sie Chrome Dev Tools (oder Ähnliches), um die Anfrage/Antwort-Konversation mit dem Server zu überprüfen. Gibt es eine URL-Umleitung bei der Anfrage über eine URL anstelle von IP? Können Sie auch Tomcat-Logs (oder URL-Rewrite-Module) überprüfen, um etwas mehr darüber zu erfahren, was mit der Anfrage geschieht, serverseitig?

+0

So ein Blick auf die Netzwerk-Trace auf Chrome-Dev-Tools hatte nichts übermäßig interessant. Die Seite beginnt mit ein paar 302, um die Anmeldung zu gewährleisten, aber die Seiten mit den Bildern sahen im Wesentlichen identisch aus, mit Ausnahme der Pfade, die auf IP vs. URL basieren. Die interessantere Sache wurde gefunden, die Protokolle auf Tomcat zu verfolgen. Nur die IP-Adressen-HTTP-Aufrufe werden in den Protokollen registriert. Alles, was die Basis-URL verwendet, wird nicht in den Protokollen angezeigt .... ist das etwas, das beim URL-Rewrite auftreten könnte? Ich bin mit dieser Funktion freilich nicht vertraut. – Mark

+0

Wenn Sie die URL-Anfragen nicht finden, glaube ich nicht. Ist das aufgelöste DNS die IP Ihres Tomcat Servers oder ein Reverse Proxy oder ein Zwischenserver? Können Sie die Anfrage von Ihrem Ende zum Tomcat-Server verfolgen? Ist die 404-Antwort von Tomcat oder einem anderen Zwischenserver? Können Sie die HTTP-Antwortheader überprüfen, um den Server zu ermitteln, der die Antwort ausgegeben hat? –

+0

Ich habe nur die Installationsdetails unten gesehen :) das erklärt sicherlich die 404 Cheers! –