HttpPlatformHandler HTTP错误502.3 - 错误的网关

Mah*_*yed 10 ruby iis cgi ruby-on-rails

我试图在IIS上运行的轨道,我也跟着提到的步骤在这里由Scott Hanselman的.

以下是一些可能有用的信息:

  • Rails版本: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="&quot;C:\RailsInstaller\Ruby2.3.3\bin\rails&quot; 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>
Run Code Online (Sandbox Code Playgroud)

我不确定问题是什么,我想念的配置是什么!

Fab*_*lio 0

你可以阅读这个评论

索米亚

我确实喜欢帖子中所说的,但我的应用程序显示 HTTP 错误 502.3 - 错误网关 尝试路由请求时出现连接错误。最可能的原因: CGI 应用程序未返回一组有效的 HTTP 错误。由于父网关中的错误,充当代理或网关的服务器无法处理请求。通过 IIS 管理器浏览文件时,我也遇到了同样的错误。但在使用 webrick 运行 Rails 应用程序时,它的工作原理。知道我在这里做错了什么吗?

杰托

嘿,谢谢你的这篇文章!我一直在努力解决这个问题,我想知道你到底是如何让它发挥作用的。httpPlatformHandler 仅支持 IIS8.0+(建议 2012r2),而 RubyOneclickInstaller 不完全支持 2012r2。2008 年才刚刚开始,当我尝试安装 ruby​​ 时,git 并没有完全安装在我的闪亮的新 AWS 2012r2 盒子的测试用例上。然而,听起来确实很有希望。我的应用程序(甚至包括 libV8)在 2008r2 上的 web brick 上运行,但对上面显示的 XML 配置不满意(我收到错误)。我尝试安装IIS8.0限制版拒绝安装,还有httpPlatformHandler。您具体使用了哪些平台?再次感谢您花时间写这篇文章。做啊!我抓住了 ruby​​ 安装程序而不是 Rails 安装程序。这就是 git 没有安装的原因。

HostForLIFE.eu

很棒的信息!恭喜 Microsoft 推出此 HttpPlatformHandler。在 Windows 环境下运行 Ruby 真的很有趣。我们认为要运行 Ruby on Rails,最好使用 JRuby。不管怎样,这真的很有趣。我们真诚地期待查看您的下一次更新。问候

非常感谢这篇精彩的文章!我收到错误 - 也许您可以在 Stack Overflow 上查看我的问题,看看您是否知道答案?

这篇stackoverflow 帖子中继续讨论