Ошибка 503 Служба недоступна Varnish / Nginx / SSL

У меня есть установка, в которой Nginx и Varnish работают нормально. Несколько веб-сайтов, работающих на одном VPS. Nginx работает на порту 8080.

Я добавил сертификат SSL на один из веб-сайтов, чтобы запустить его по https, но после настройки я получаю эту ошибку при просмотре сайта по https:

Ошибка 503 Служба недоступна

Служба недоступна Медитация гуру:

XID: 613157718

Моя конфигурация nginx для этого сайта (частично):

сервер {

    listen 443 ssl;

    server_name mydomain.com www.mydomain.com;

    root /srv/www/www.mydomain.com;
    index index.php index.html index.htm;

    ssl_certificate /etc/nginx/ssl/mydomain/ssl-bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/mydomain/certificate.key;

    location / {
    proxy_pass  http://127.0.0.1:80;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Forwarded-Port 443;
    proxy_set_header X-Secure on;
}

}

Есть идеи?

Ура, Jaap

0
задан 26 February 2016 в 13:36
2 ответа

Ваша настройка - Nginx -> Varnish -> Apache, верно?

Ошибка «Медитация гуру» исходит от Varnish, что означает, что запрос выполняется до Varnish, а Varnish - возникли проблемы с обработкой запроса.

Если вы запустите "varnishlog" на сервере, он начнет выводить много информации о каждом запросе. Затем в браузере сделайте https-запрос, а затем, как только вы получите сообщение об ошибке, используйте ctrl-c, чтобы varnishlog не выводил что-либо еще. Прокрутите вывод вверх, и вы должны найти одну или две строки, в которых рассказывается, какая проблема возникла у Varnish при обработке запроса.

0
ответ дан 5 December 2019 в 10:41

Варниш дает мне медитацию Гуру
Сначала найдите соответствующие записи журнала в varnishlog. Это, вероятно, даст вам ключ к разгадке. Поскольку varnishlog регистрирует много данных, может быть сложно отследить записи.
Вы можете настроить varnishlog для регистрации всех ошибок 503, введя следующую команду:

$ varnishlog -q 'RespStatus == 503' -g request

$ varnishlog -d -q 'RespStatus == 503' -g request

Регулярно вы будете получать 503 ошибки, потому что ваша серверная часть не работает или неисправна. В этом случае varnishlog может вернуть что-то вроде «FetchError c no backend connection». Вы должны проверить порт, к которому Varnish Cache пытается подключиться, исходный сервер и ваши HTTP-сервисы, такие как Apache или Nginx, и посмотреть, все ли это работает правильно - если это не так, вам необходимо устранить неполадки в вашей серверной части. .

Если серверная часть работает, но вы все еще получаете ошибку Varnish Cache 503, значит, что-то не так с подключением вашего веб-сервера к Varnish Cache или конфигурации Varnish Cache.

Если серверная часть отвечает, но Varnish Cache обслуживает 503, мы часто обнаруживаем, что это происходит из-за тайм-аутов. Вы можете изменить или добавить .connect_timeout = Xs и .first_byte_timeout = Xs в раздел VCL бэкэнда по умолчанию для продолжительности тайм-аута, которая работает для вашего веб-сервера.
В программе Varnish Cache есть дополнительная информация о различных тайм-аутах, которые могут возникать в Varnish Cache. Еще один совет - отключить KeepAlive, чтобы неактивные соединения были сброшены. Это будет выглядеть так:

"origin": {
"адрес": "origin.example.com ",
"disable_keepalive": истина
}

0
ответ дан 11 January 2020 в 04:21

Теги

Похожие вопросы