我正在尝试在IIS上运行rails,我按照here提到的步骤进行操作 Scott Hanselman。
这里有一些可能有用的信息:
在我按照设置步骤操作后,我反驳了这个问题
HTTP错误502.3 - 错误网关
尝试路由请求时出现连接错误。
最有可能的原因是:
CGI应用程序未返回有效的HTTP错误集。
由于父网关出错,充当代理或网关的服务器无法处理请求。
你可以尝试的事情:
使用DebugDiag对CGI应用程序进行故障排除。
确定代理或网关是否应对此错误负责。
这是我的web.config
文件内容。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" requireAccess="Script" />
</handlers>
<httpPlatform processPath="C:\RailsInstaller\Ruby2.3.3\bin\ruby.exe" arguments=""C:\RailsInstaller\Ruby2.3.3\bin\rails" server -p %HTTP_PLATFORM_PORT% -b 127.0.0.1" startupTimeLimit="200" stdoutLogEnabled="true" stdoutLogFile="rails.log">
<environmentVariables>
<environmentVariable name="RAILS_ENV" value="development" />
</environmentVariables>
</httpPlatform>
<directoryBrowse enabled="true" showFlags="Date, Time, Size, Extension" />
</system.webServer>
</configuration>
我不确定问题是什么,我想念的是什么配置!
答案 0 :(得分:2)
您可以阅读此comments
中继续进行Sowmya
我确实喜欢它在帖子中说,但我的应用程序显示 HTTP错误502.3 - 错误的网关 尝试路由请求时出现连接错误。 最可能的原因: CGI应用程序未返回有效的HTTP错误集。 由于父网关中的错误,充当代理或网关的服务器无法处理请求。 通过IIS管理器浏览文件时,我也遇到了同样的错误。 但是在使用webrick运行rails应用程序时。知道我在这里做错了吗?
jaytho
嘿谢谢你的这篇文章!我一直在努力解决这个问题,我想知道你是怎么做到的。 httpPlatformHandler仅支持IIS8.0 +,它表示2012r2,而RubyOneclickInstaller并不完全支持2012r2。 2008年只是现在 - 当我尝试安装ruby git时,我的测试用例并不完全安装在一个闪亮的新AWS 2012r2盒子上。 然而,听起来很有希望。 我得到了我的应用程序(使用libV8甚至)在2008r2上的web brick上运行,但是对于上面显示的XML配置没有任何乐趣(我得到错误)。我试图安装IIS8.0限制版本拒绝安装,以及httpPlatformHandler。 您使用了哪些确切的平台? 再次感谢您花时间写这篇文章。 Do'h!我抓住ruby安装程序而不是rails安装程序。这就是git没有安装的原因。
HostForLIFE.eu
很棒的信息!恭喜微软推出这款HttpPlatformHandler。在Windows环境中运行Ruby非常有趣。我们认为运行Ruby on Rails,最好使用JRuby。无论如何,这真的很有趣。我们真的很期待检查您的下一次更新。 此致
非常感谢这篇精彩的文章! 我收到了一个错误 - 也许您可以查看Stack Overflow上的问题,看看你是否知道答案?
答案 1 :(得分:2)
尝试使用以下web.config设置,并首先在目录C:\inetpub\wwwroot\
中添加项目:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpplatformhandler" path="*" verb="*"
modules="httpPlatformHandler"
resourceType="Unspecified" requireAccess="Script" />
</handlers>
<httpPlatform stdoutLogEnabled="true"
startupTimeLimit="20"
processPath="C:\Ruby21\bin\ruby.exe"
arguments="C:\inetpub\wwwroot\rails_on_iis\bin\rails server -p %HTTP_PLATFORM_PORT% -b 127.0.0.1 -e production">
</httpPlatform>
</system.webServer>
</configuration>