Я настроил свой веб-сервер с Passenger, обслуживающим приложение Rails через Nginx. Я хотел бы поставить Varnish перед Nginx для кэширования веб-страниц, поскольку Passenger не торопится с созданием страниц.
Я скомпилировал Varnish и запустил его с помощью команды
varnishd -a [внешний IP-адрес удален]: 80 -b 127.0.0.1:443 -F
Однако при посещении внешнего IP меня приветствовали страницей 503 и кодом «медитации гуру» (XID: 741199024).
Понятия не имею, что это значит, но я думаю, что, возможно, неправильно настроил это.
Кто-нибудь знает, где я ошибся?
Большое вам спасибо за ваше время, мы очень признательны!
Люк Карпентер
Знаете ли вы, что Varnish НЕ работает с HTTPS? Я не уверен, что вы пытаетесь сделать, но ваш бэкэнд слушает 443, что немного странно.
Если ваш трафик - SSL, вам, вероятно, понадобится что-то вроде nginx (ssl) -varnish (nossl) -nginx (nossl) -passenger. Эта настройка не такая уж редкость, и вы можете использовать тот же nginx.
503 обычно означает, что серверная часть не ответила достаточно быстро или соединение закрылось сразу после попытки выполнить запрос. Вы можете изменить таймер отсрочки (если серверная часть отключена / отказано в соединении), изменить время ожидания ответа серверной частью или изменить некоторые другие параметры в зависимости от того, почему вы получили 503.
запуск varnishlog (конвейерный его / машинописный текст) и просмотр этих запросов может рассказать вам, почему что-то произошло. Вы можете указать IP-адрес для просмотра, поэтому вам не нужно видеть весь проходящий трафик, только трафик с вашего IP-адреса.