我正在尝试在IIS上运行Rails,我遵循了Scott Hanselman提到的here步骤。
以下是一些可能有所帮助的信息:
- 导轨版本:5.1.4
- Ruby版本:2.3.3
在我按照设置步骤操作之后,我遇到了这个问题
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>
我不确定是什么问题,我错过了什么配置!
2条答案
按热度按时间kiayqfof1#
尝试使用下面的web.config设置,并首先将项目添加到目录
C:\inetpub\wwwroot\
中:j0pj023g2#
你可以读这个comments
索米亚
我确实喜欢它在帖子中说的,但我的应用程序显示HTTP错误502. 3-坏网关在尝试路由请求时出现连接错误。最可能的原因:CGI应用程序没有返回一组有效的HTTP错误。作为代理或网关的服务器由于父网关中的错误而无法处理请求。当通过IIS管理器浏览文件时,我也得到了同样的错误。但在使用webrick运行rails应用程序时,它的工作正常。知道我在这里做错了什么吗?
杰索
嘿,谢谢你的这篇文章!我一直在努力解决这个问题,我想知道你是如何让这个工作的。httpPlatformHandler只支持IIS8.0+,这建议2012 r2,而且RubyOneclickInstaller目前还不完全支持2012r2.2008--当我尝试安装ruby git时,它并没有完全安装在我的全新AWS 2012 r2测试用例上。听起来很有希望,不过。我得到了我的应用程序(甚至使用libV 8)运行在2008 r2上的web brick上,但对上面显示的XML配置没有任何兴趣(我得到错误).我试图安装IIS8.0限制版本拒绝安装,以及httpPlatformHandler。您使用的具体平台是什么?再次感谢您花时间编写这些内容。我使用的是ruby安装程序而不是rails安装程序。这就是为什么git没有安装。
HostForLIFE.eu
很棒的信息!祝贺微软发布这个HttpPlatformHandler。在Windows环境下运行Ruby真的很有趣。我们认为要在Rails上运行Ruby,最好使用JRuby。无论如何,这真的很有趣。我们真的很期待看到你的下一次更新。此致
非常感谢这篇伟大的文章!我得到了一个错误-也许你可以看看我的问题堆栈溢出,看看你是否知道答案?
在此stackoverflow post中继续讨论