Рейтинг:1

NGINX / Cloudflare случайные 520 ошибок HTTP, когда HTTP2 включен в NGINX

флаг us

Я вижу проблему, когда Cloudflare возвращает код ошибки HTTP 520 примерно для 10% запросов. Однако проблема не возникает, если я обхожу прокси-сервер Cloudflare и напрямую запрашиваю сервер.

После большого количества устранения неполадок я обнаружил, что если удалить два http2 параметры после Слушать, проблема исчезнет, ​​и Cloudflare перестанет возвращать ошибки 520.

сервер {
    слушать 443 ssl http2;
    слушать [::]:443 ssl http2;
    ssl_certificate *путь к ключу*;
    ssl_certificate_key *путь к ключу*;
    имя_сервера пример.com;
    корень *путь к каталогу*;
    место расположения / {
        proxy_pass http://localhost:5000; // проксирование основного приложения asp.net
        прокси_http_версия 1.1;
        proxy_set_header Обновить $http_upgrade;
        proxy_set_header Поддержание соединения;
        proxy_set_header Хост $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $ схема;
    }
}

Есть ли решение проблемы, позволяющее сохранить возможности HTTP2?

Рейтинг:3
флаг jp

Простое объяснение состоит в том, что согласно Общие сведения о поддержке Cloudflare HTTP/2 и HTTP/3:

Cloudflare использует только HTTP/1.x между исходным веб-сервером и Облачная вспышка.

Вы можете отключить HTTP/2 на исходном сервере и по-прежнему использовать его между браузером и Cloudflare, так как он включен по умолчанию, если у вас есть TLS в пограничной сети Cloudflare.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.