3 Stimmen

Wie konfiguriere ich CGI auf IIS 7?

Ich habe dies getan

http://reboltutorial.com/images/rebol-iis.png

wie hier erklärt, aber für IIS 6 http://rebolforum.com/index.cgi?f=printtopic&topicnumber=39&archiveflag=new

Ich habe auch 32 Bit für den Anwendungspool aktiviert, wie hier beschrieben http://blogs.iis.net/wadeh/archive/2009/04/13/running-perl-on-iis-7.aspx

Aber wenn ich das Testskript aufrufe, funktioniert es nicht, es scheint ewig zu dauern, bis nichts angezeigt wird, und am Ende erscheint diese Fehlermeldung:

502 - Web server received an invalid response while acting as a gateway or proxy server.
There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.

Ich habe einen dedizierten Server mit Windows 2008 verwendet.

Quellcode des Testskripts:

REBOL [Title: "Cgi Test in Rebol"]
print "HTTP/1.0 200 OK^/Content-type:text/html^/^/";
print []
print ["Date/time is:" now]
print []

Sollte ich lieber auf serverfault fragen, da hier niemand etwas zu wissen scheint?

0 Stimmen

Haben Sie CGI unter "Application Development Features" im Dialog "Torun Windows features on or off" aktiviert?

0 Stimmen

Ja, das ist das Erste, was ich getan habe.

0 Stimmen

Normalerweise habe ich Probleme bei der Verwendung von Rebol als CGI auf IIS wegen der Sicherheitseinstellungen von Dateien und Ordnern und/oder der Authentifizierungseinstellungen auf IIS. Ich meine damit, dass man IUSR_xxx Lese- und Ausführungsrechte für die notwendigen Ordner und rebol.exe geben sollte. Versuchen Sie verschiedene Optionen der integrierten Windows-Authentifizierung. Ich verwende sie auf IIS 5, aber meistens habe ich meine Probleme mit diesen Optionen gelöst.

5voto

endo64 Punkte 2123

Endlich habe ich meine Antwort bekommen, hier sind die Schritte:

Öffnen Sie den Server-Manager über die Verwaltungswerkzeuge. Fügen Sie die Rolle "Webserver (IIS)" hinzu. Versuchen Sie http://localhost/ von Ihrem Browser aus. Sie sollten die IIS7-Willkommensseite sehen.

Kopieren Sie core.exe nach c:\ (oder an einen anderen Ort), klicken Sie mit der rechten Maustaste auf core.exe und öffnen Sie das Fenster "Eigenschaften", geben Sie unter der Registerkarte "Sicherheit" den Lese- und Ausführungszugriff auf IUSR_xxxx. (Wenn Sie Probleme haben, versuchen Sie, Lese- und Ausführungszugriff für alle zu gewähren)

Öffnen Sie den "Internet-Informationsdienste (IIS)-Manager" aus den Administrator-Tools.

Klicken Sie auf Default Web Sites, doppelklicken Sie auf Handler Mappings, klicken Sie auf Add Module Mapping im rechten Panel und geben Sie die folgenden Daten ein:

Request Path: *.r 
Module: c:\core.exe -cs %s %s 
Name: Rebol 

Wählen Sie Ja, wenn das Dialogfeld Skript Map hinzufügen angezeigt wird. Es fügt die c: \core.exe -cs "%s %s" wie in der Liste der ISAPI- und CGI-Einschränkungen erlaubt.

Erstellen Sie eine Datei test.r im Ordner wwwroot. Meine Datei test.r enthält das folgende Skript:

 R E B O L [Title: "Server Time"] 
 print "content-type: text/html^/" 
 print [<HTML><BODY>] 
 print ["Date/time is:" now] 
 print [</pre></BODY></HTML>] 

Und Typ http://localhost/test.r in Ihrem Browser. Wenn alles gut geht, sollte es funktionieren.

Wenn Sie es mit View.exe versuchen, müssen Sie möglicherweise --noinstall in die Befehlszeile eingeben, da sich sonst beim Start von View mit dem Benutzerkonto IUSR_xxx ein Desktop- und Installationsfenster öffnet und im Hintergrund bleibt (Sie können es im Task-Manager sehen).

 c:\view.exe -csi %s %s 

Möglicherweise müssen Sie auch doppelte Anführungszeichen um %s setzen, wenn Ihr Skript in einem Pfad mit Leerzeichen liegt. Verwenden Sie die folgende Form:

 c:\core.exe -cs "%s %s" 

Stattdessen:

 c:\core.exe "-cs %s %s" (<-- this won't work!)

Ich hoffe, dies wird Ihnen helfen.

UPDATE: Ich habe ein Problem auf IIS6 (Windows 2003 Server), es gibt 404, wenn ich es wie folgt konfigurieren (es funktioniert auf IIS7, wie oben beschrieben):

c:\core.exe -cs "%s %s"

Aber es läuft als:

c:\core.exe" -cs "%s" %s

Hier ist der Link zur Perl-Installation. http://www.howtogeek.com/50500/how-to-install-perl-on-iis-6-for-Windows-server-2003/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X