Как настроить CGI на IIS 7? - PullRequest
3 голосов
/ 11 июля 2010

Я сделал это

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

, как описано здесь, но это было для IIS 6 http://rebolforum.com/index.cgi?f=printtopic&topicnumber=39&archiveflag=new

Я также активировал 32 бита для пула приложений, как описано здесьhttp://blogs.iis.net/wadeh/archive/2009/04/13/running-perl-on-iis-7.aspx

Но при переходе к тестовому скрипту он не работает, кажется, что он ничего не показывает, а затем в конце показывает это сообщение об ошибке:

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.

Я использовалвыделенный сервер на windows 2008

Исходный код тестового скрипта:

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

Должен ли я спросить о сбое сервера, а никто, кажется, не знает здесь?

1 Ответ

5 голосов
/ 13 декабря 2010

Наконец я получил свой ответ, вот шаги:

Откройте Диспетчер серверов из Администрирования. Добавить роль "Веб-сервер (IIS)" Попробуйте http://localhost/ из вашего браузера. Вы должны увидеть страницу приветствия IIS7.

Скопируйте файл core.exe в папку c: \ (или в другое место), щелкните правой кнопкой мыши файл core.exe и откройте окно «Свойства», предоставьте доступ для чтения и выполнения к IUSR_xxxx на вкладке «Безопасность». (Если у вас возникли проблемы, попробуйте прочитать и выполнить для всех)

Откройте «Диспетчер служб IIS» из Инструментов администратора.

Щелкните по веб-сайтам по умолчанию, дважды щелкните по сопоставлениям обработчиков, щелкните «Добавить сопоставление модулей» на правой панели и введите следующее:

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

Выберите Да, когда появится диалоговое окно «Добавить карту сценариев». Он добавит c: \ core.exe -cs "% s% s", как это разрешено в списке ограничений ISAPI и CGI.

Создайте файл test.r в папке wwwroot. Мой файл test.r содержит следующий скрипт:

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

И введите http://localhost/test.r в вашем браузере. Если все идет хорошо, то должно работать.

Если вы пытаетесь использовать View.exe, то вам может потребоваться ввести --noinstall в командную строку, в противном случае, когда View запускается с учетной записью пользователя IUSR_xxx, он откроет окно рабочего стола и установки и останется фоновым (вы можете увидеть его из Task). Менеджер).

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

Вам также может понадобиться заключать в двойные кавычки около% s, если ваш скрипт находится в пути с пробелами. Используйте следующую форму:

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

Вместо этого:

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

Надеюсь, это поможет.

ОБНОВЛЕНИЕ: Я столкнулся с проблемой на IIS6 (Windows 2003 Server), он выдает 404, когда я настраиваю его следующим образом (он работает на IIS7, как сказано выше):

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

Но он работает так:

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

Вот ссылка для установки Perl. http://www.howtogeek.com/50500/how-to-install-perl-on-iis-6-for-windows-server-2003/

...