Назад | Перейти на главную страницу

Nginx proxy_pass теряет заголовки при использовании http2

У меня возникла проблема с потерей заголовков nginx для серверной части при использовании протокола http2 на nginx (обычный HTTP-сервер для Wildfly 10). Приведенная ниже конфигурация работает при удалении параметра http2, и когда параметр http2 включен, внешний интерфейс, по-видимому, работает, но сервер не получает заголовков от клиента. Я также попытался добавить параметр: proxy_http_version 1.1 без эффекта.

Должен ли nginx к бэкэнд-соединению также использовать протокол http2 для передачи заголовков? Я понял, что обычно используют только http2 до интерфейса nginx.

upstream backend {
   # Use IP Hash for session persistence
   ip_hash;
   # List of Wildfly application servers
   server  backend:8080;
}

server {
   listen 80;
   return 301 https://$host$request_uri;
}

server {
   listen 443 ssl http2;
   server_name site.domain.com;

   keepalive_timeout   70;

   # Proxy settings
   proxy_read_timeout 120;
   proxy_set_header Host $http_host;
   proxy_pass_request_headers on;
   underscores_in_headers on;

   # SSL settings
   ssl  on;
   ssl_certificate      /etc/ssl/cert.crt;
   ssl_certificate_key  /etc/ssl/key.key;

   ssl_session_cache  builtin:1000  shared:SSL:10m;
   ssl_session_timeout 30m;
   ssl_protocols  TLSv1.2;
   ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
   ssl_prefer_server_ciphers on;

   location / {
      return 404;
   }
   location /WebContext {
      proxy_pass http://backend;
  }
}