iis - 如何在 IIS 7 上配置 CGI?

标签 iis cgi rebol

这是我做的

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 []

我应该问 serverfault 而不是因为这里似乎没有人知道吗?

最佳答案

终于得到了答案,步骤如下:

从管理工具打开服务器管理器。 添加角色“Web 服务器 (IIS)” 在浏览器中尝试 http://localhost/。您应该会看到 IIS7 欢迎页面。

将 core.exe 复制到 c:\(或其他位置),右键单击 core.exe 并打开属性窗口,在安全选项卡下为 IUSR_xxxx 授予读取和执行访问权限。 (有问题尽量给大家阅读和执行)

从管理员工具中打开“Internet 信息服务 (IIS) 管理器”。

单击“默认网站”,双击“处理程序映射”,单击右侧面板中的“添加模块映射”并键入以下内容:

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

出现“添加脚本映射”对话框时选择"is"。它将在 ISAPI 和 CGI​​ 限制列表下允许添加 c:\core.exe -cs "%s %s"。

在 wwwroot 文件夹下创建一个 test.r 文件。我的 test.r 文件包含以下脚本:

 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>] 

然后在浏览器中输入 http://localhost/test.r。 如果一切顺利,那么它应该可以工作。

如果您正在尝试使用 View.exe,那么您可能需要将 --noinstall 放入命令行,否则当 View 以 IUSR_xxx 用户帐户启动时,它将打开桌面和安装窗口并保持在后台(您可以从任务中看到它经理)。

 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/

关于iis - 如何在 IIS 7 上配置 CGI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3223556/

相关文章:

url - Rebol url 中的转义符号

php - 为什么在 IIS 上使用 open_basedir 和 PHP 作为 FastCGI?

function - 如何用细化来包装一个函数,这样就不需要细化了?

user-interface - 红色语言可执行文件也打开控制台

javascript - 长时间运行的 CGI 脚本挂起

python - 如何从cgi脚本调用web浏览器?

apache - 在调用 CGI 并且 URI 包含没有值的单个查询字符串参数时,Apache2 中是否存在特殊情况?

asp.net - 如何配置 IIS 7.5 以在 localhost 上运行多个网站

asp.net - IIS Windows 身份验证 401 未经授权

asp.net - 一个 IIS 网站可以托管多个不同 ASP.NET 版本的 Web 应用程序吗?