Доброй ночи. Сделал деплой проекта, исправил пару ошибок, которые не обнаружил локально, получил сертификат ssl, все относительно нормально стало, только вот стал замечать, что через 1-5 перезагрузок сайта у меня выпадает страница с ошибкой 502 (сервер стоит за cloudflare)
Очень много сайтов облазил по инфе, более 30 ссылок с разными вариантами исправления проблемы, но ничего не помогло, все так же само, то грузится страница, то ошибка.
В связи с тем, что даже не могу понять куда копать, исходные файлы выкладывать изначально не буду, скажите какие нужно предоставить - опубликую. Прошу помочь, кто сталкивался и решал проблему. Не понимаю, почему ИНОГДА ошибка вылазит. Если бы всегда вылазила, то возможно решить было бы проще.
nginx.conf:
Последняя опробованная версияupstream hello_server {
server web:8000;
}
server {
listen 443 ssl;
listen [::]:443;
listen 80;
listen [::]:80;
charset utf-8;
#ssl on;
ssl_certificate /etc/nginx/certs/default.crt;
ssl_certificate_key /etc/nginx/certs/default.key;
#error_page 497 https://$host:$server_port$request_uri;
location / {
proxy_pass http://hello_server;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://hello_server;
break;
}
}
location /staticfiles/ {
alias /usr/src/app/staticfiles/;
}
location /mediafiles/ {
alias /usr/src/app/mediafiles/;
}
}
Второй опробованный конфигserver {
listen 443 ssl;
listen [::]:443;
listen 80;
listen [::]:80;
charset utf-8;
#ssl on;
ssl_certificate /etc/nginx/certs/default.crt;
ssl_certificate_key /etc/nginx/certs/default.key;
#error_page 497 https://$host:$server_port$request_uri;
location / {
proxy_pass http://web:8000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
}
location /staticfiles/ {
alias /usr/src/app/staticfiles/;
}
location /mediafiles/ {
alias /usr/src/app/mediafiles/;
}
}
UPD
Честно, не знаю что произошло. Удалил все контейнеры, все почистил. На локальной машине сделал небольшие изменения, проверил все еще раз - локально никакого нового поведения, и дев и прод версия сайта загрудаются отлично. Обратно все залил на сервер, настроил переменные, запустил ииии.... все ок. Я продолжу наблюдать за ситуацией и если столкнусь с проблемой еще раз и пойму из-за чего это - обновлю вопросы. Решения так и нет.
Из интересного в прошлом:
При обновлении страницы сайта в лог сыпалась строка от контейнера в БД:
LOG: invalid length of startup packet
Начал исследовать этот момент и обнаружил, что при запуске контейнера во время инициализации БД тоже была какая-то информация, связанная с пакетами (к сожалению не скопировал, чтобы сюда вставить)
Наткнулся на пост:
https://github.com/benoitc/gunicorn/issues/2347#is...
В нем говорится, что с этой ошибкой сайт иногда может выдавать страницу 502. Решение я не пробовал, т.к. оно мне не понравилось.
Из интересного в настоящем:
Больше ошибки
LOG: invalid length of startup packet
при новой настройке группы контейнеров НЕ наблюдал. Почему ошибка пропала - неизвестно. Хотя я много всего делал с БД, и другие подключения, и другие версии, но в прошлом это никак не исправляло проблему