2015-04-13 2 views
3

Я создал небольшой Mojolicious приложение, чтобы бежать за Plack действует как прокси-сервер, как это:Как избежать 502 ответов с помощью Plack и Mojolicious?

builder { 
     mount "/q" => builder { 
      Plack::App::Proxy->new(remote => "http://127.0.0.1:3010")->to_app; 
     }; 
}; 

мне нужно запустить его таким образом (а не установки приложения напрямую), как мне нужно, чтобы перезагрузить приложение A несколько раз в день, по причинам, по которым я не могу войти.

Приложение работает на гипнозагрузке, и когда я ударил его напрямую, все в порядке. Однако, когда вы попадаете через прокси-сервер, я часто получаю ответ 502 - Gateway error: Connection timed out.

Самое смешное, когда я перезаряжаю один или два раза, все кажется прекрасным, и я получаю правильный ответ.

Может кто-нибудь помочь понять это?

ответ

2

Вполне возможно, что значения таймаута по умолчанию в Mojolicious недостаточно высоки для вашего приложения, что может привести к остановке рабочего процесса менеджером, что приведет к недействительному ответу на приложение Plack и, следовательно, 502 Поэтому проверьте config settings на время ожидания и при необходимости измените. Вам также может потребоваться количество рабочих, если ваше приложение находится под большой нагрузкой, хотя я подозреваю, что здесь не проблема.

Более полезная информация будет найдена в файле журнала моджолического приложения - если вы запускаете hypnotoad при отладке с MOJO_LOG_LEVEL=debug, тогда вы увидите, что соединение попало в приложение, а затем тайм-аут, если это действительно проблема.

Ответом является штраф на перезагрузку указывает, может быть что-то медлительность загрузить в приложение, или, возможно, кэш заселяется и т.д. Трудно сказать без записей журнала с сервера Hypnotoad

Смежные вопросы