首页 > 解决方案 > 无法使用 nginx 调用我的 rails 服务器,得到 Puma::HttpParserError

问题描述

我的 nginx / puma 配置有问题。当我启动我的 Rails 服务器并尝试与之交互时,什么也没有发生,我的请求被卡在浏览器网络中。此外,我在控制台中收到此错误:

HTTP parse error, malformed request (): #<Puma::HttpParserError: Invalid HTTP format, parsing fails.>

我在端口 3000 上运行 ngrok,但即使它没有运行,我仍然会收到错误消息。

我看到了很多类似的问题(比如这个没有答案的问题),但没有一个对我有帮助:(

这是我的默认配置的一部分:

server {
    listen              80;
    server_name         app.example.com;
    location / {
        proxy_pass      http://app.example.com:9000;
    }
    location /uploads/ {
        proxy_pass      https://example.s3.amazonaws.com/uploads/;
    }
    location /archives/ {
        proxy_pass      https://example.s3.amazonaws.com/archives/;
    }
    location /container/ {
        proxy_pass      https://example.s3.amazonaws.com;
    }
}

有什么我忘了在这里检查吗?我不太习惯使用导轨,也许我错过了一些基本的东西:)

标签: ruby-on-railshttpsslnginxpuma

解决方案


弄清楚发生了什么:我试图将我的 API 与一个角前端引擎连接起来,我在这里缺少的是我有一个 oauth conf 可以使用 https 而不仅仅是 http 添加到角环境文件中。

base_url: "http://localhost:3000/",
oauth: "https://localhost:3000/",

它与我的 Rails 服务器无关,也不是 nginx !


推荐阅读