Не могу вызвать мой сервер rails с помощью nginx, получил Puma :: HttpParserError - PullRequest
0 голосов
/ 21 января 2019

У меня проблемы с моим конфигом nginx / puma. Когда я запускаю свой сервер rails и пытаюсь взаимодействовать с ним, ничего не происходит, и мой запрос застревает в сети браузера. Кроме того, я получаю эту ошибку в моей консоли:

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

Я запускаю ngrok на порту 3000, но даже когда он не работает, я все равно получаю сообщение об ошибке.

Я видел много подобных проблем (например, этот без ответа), но ни одна из них мне не помогает :(

  • Я проверил конфигурацию ssl с помощью nginx, и она отключена выход grep -r ssl_protocol /etc/nginx дает

    /etc/nginx/nginx.conf:  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    

    как и ожидалось

  • Я очистил кэш / историю браузера и файлы cookie + перезапустил сервер nginx service et rails

  • config.force_ssl закомментировано в моей среде / develop.rb (и я определенно работаю над этой средой), поэтому я предполагаю, что я не подключаюсь в https

  • Я также закомментировал ipv6 conf в /etc/hosts, и эти две строки установлены:

    127.0.0.1    localhost
    127.0.0.1    app.example.com
    

вот часть моей конфигурации по умолчанию:

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;
    }
}

Есть что-нибудь, что я забыл здесь проверить? Я не так привык к рельсам, может я что-то упускаю элементарно:)

1 Ответ

0 голосов
/ 22 января 2019

Понял, что произошло: я попытался соединить мой API с угловым передним движком, чего мне здесь не хватает, так это того, что у меня был oauth conf для добавления в файл углового окружения с https, а не только с http.

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

Это не относилось ни к моему серверу rails, ни к nginx!

...