
Ich richte eine interne Website ein, um einen Webdienst zu hosten.
Die Website verfügt über den DNS-Eintrag service.test.company.local
. Das Unternehmen verwendet company.local
als DNS-Zone für interne Anwendungen und dieser Eintrag wird allen DNS-Anfragen stillschweigend angehängt.
Eine Suche nach diesem Ergebnis service.test
ergibt den vollständigen Namen und die richtige IP-Adresse.
Die IIS 6-Site ist so konfiguriert, dass sie auf Port 80 der IP-Adresse lauscht, service.test
zu der sie aufgelöst wird.
Beim Versuch, über auf diese Site zuzugreifen service.test.company.local
, wird die Adresse aufgelöst und der Dienst korrekt angezeigt.
Beim Versuch, über auf diese Site zuzugreifen service.test
, wird eine IIS-Fehlerseite mit der Meldung „500 – interner Serverfehler“ angezeigt.
Für diese Anfrage werden keine Einträge in den Protokolldateien der Website oder im Anwendungsereignisprotokoll generiert.
Ich verstehe nicht, wo der Fehler herkommt und es ist wirklich frustrierend, wie wenige Informationen ich von IIS bekomme.
Gibt es Ideen zu dem Problem oder eine Lösung? Gibt es andere Informationsquellen, die ich prüfen kann?
BEARBEITEN:
Der unangenehme Fehler von IIS ist:
Unbekannter Host
Beschreibung: Der Server mit dem Namen „service.test“ konnte nicht gefunden werden – der Server hat keinen DNS-Eintrag. Möglicherweise ist der Servername falsch geschrieben oder der Server existiert nicht mehr. Überprüfen Sie den Namen noch einmal und versuchen Sie es erneut.
BEARBEITEN: 2
Ich vermute, dass dies etwas damit zu tun hat, wie die Organisation ihre DNS-Einträge eingerichtet hat. Ich kann andere vorangestellte Einträge in meine Hosts-Datei einfügen und lokal die korrekte Auflösung für die Site erhalten.
Ich denke, dieses Problem erfordert einen DNS-Guru, der mögliche Probleme aufzeigt. Leider habe ich keine Autorität über die DNS-Einträge, daher erwarte ich viel Ärger.
Antwort1
Nachdem ich mein Betriebsteam eingeschaltet hatte, stellte sich heraus, dass der Proxyserver versucht hatte, die Anfragen zu verarbeiten, anstatt sie an das lokale Netzwerk weiterzuleiten.
Die zurückgegebene Fehlermeldung stammt vom Proxyserver, nicht vom IIS-Server. Auf diese Information stieß ein Mitglied des Betriebsteams, als es feststellte, dass HTTP-Anfragen nicht wie erwartet Proxy-Bypass-Informationen sendeten.
Zu den Proxy-Bypass-Regeln gehört *.company.local
, das für Adressen ohne andere Suffixe funktioniert und eine Umgehung für den vollqualifizierten Namen ermöglicht, aber nicht zu gelten scheint, wenn ein anderes Suffix verwendet wird, wie z. B. .test
.
Aus diesem Grund sind wir zu dem Schluss gekommen, dass das Problem zu kompliziert ist, um es zu beheben und verwenden als „ausreichende“ Problemumgehung die vollqualifizierten Namen.
Antwort2
Programmierheld,
Haben Sie den Site-Hostheader für service.test auf der jeweiligen Website festgelegt? Da mehrere Sites mit einer IP-Adresse unterstützt werden, verwendet IIS Hostheader zur Unterscheidung beim Hosten auf Port 80.
Klicken Sie auf die Eigenschaften Ihrer Website und dann auf „Erweitert“, fügen Sie „Hostheader“ hinzu und geben Sie in das leere Feld „service.test“ ein, ob DNS in die IP aufgelöst wird usw. Stellen Sie einfach sicher, dass Sie in den Dokumenten eine korrekte Standardseite haben, dann sollte diese geladen werden.
Versuchen Sie es mit „Hallo Welt“, nur um zu sehen, ob das HTML geladen wird.
REgd
Antwort3
Programmierheld,
Guter Punkt, CodingGorilla, der Fehler ist nicht der, der bei einem Hostheader-Problem gefunden werden würde. Interner Fehler scheint auf etwas anderes hinzuweisen.
Können Sie sich den Anwendungspool der Site ansehen? Verwenden Sie den Netzwerkdienst als Identität?http://localhostladen oder erhalten Sie die Fehlermeldung „Dokument nicht gefunden“? Sie können einfach versuchen, eine neue Site zu erstellen und es mit dieser zu versuchen. Wenn der lokale Host mit einer HTM-Datei geladen wird, könnte etwas in der Metabasis dieser bestimmten Site nicht stimmen.
Grüße
Antwort4
Aufgrund Ihrer Bearbeitung glaube ich nicht, dass Sie Ihren IIS-Server überhaupt treffen. Wie Sie erwähnt haben, wird die Anforderung nie in den IIS-Protokollen angezeigt, und diese Art von Fehler scheint nicht die Art von Fehler zu sein, die IIS Ihnen anzeigen wird.
Versuchen Sie, Ihre Hostdatei (c:\windows\system32\drivers\etc\host) zu bearbeiten und fügen Sie den folgenden Eintrag hinzu:
service.test 127.0.0.1
Dadurch sollte sichergestellt werden, dass die Service.Test-Anforderung an Ihren IIS-Server gesendet wird (vorausgesetzt, Sie rufen sie vom IIS-Server selbst auf, wie Sie in einem Kommentar erwähnt haben).
Wenn das funktioniert, liegt das Problem wahrscheinlich an der Art und Weise, wie die Namensauflösung auf dem Server konfiguriert ist. Das heißt, dass die Domäne „company.local“ nicht in der DNS-Suchsuffixliste enthalten ist.