Получение HTTP 400 «плохой заголовок» по информационному запросу SockJS - PullRequest
0 голосов
/ 11 декабря 2018

Я использую маршрутизатор Heroku с прокси-сервером Nginx (Nginx v1.9) и для запросов информации websocket sockjs я получаю следующую ошибку:

2018-12-11T10:50:33.428630+00:00 heroku[router]: 
cause="bad header" at=error code=H26 desc="Request 
Error" method=GET path= 
"/api/alarm/websock/alarms/info?t=1544489433394" 
host=myapp.herokuapp.com request_id=68787415-4758- 
46ba-8808-3addd8b5b7cf 
fwd="109.51.167.61,54.78.201.187" dyno= connect= 
service= status=400 bytes= protocol=https

В моей конфигурации Nginx у меня естьследующий блок местоположения:

location /websock {
    proxy_pass https://myapp.herokuapp.com/api/alarm/websock/alarms;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
}

Если я удаляю заголовки Upgrade и Connection из блока местоположения, ошибка http 400 «плохие заголовки» больше не происходит, но очевидно, что запросы с протоколом websocket терпят неудачу ... Я подозреваючто заголовок Connection не отправляется или отправляется, но он пуст.

Стоит сказать, что на моем локальном сервере Nginx (v1.11) такая же конфигурация работает идеально, и я могу делать запросы websocket.

Кто-нибудь знает, почему этобывает и как это решить?Большое спасибо

...