Проксирование кабины через Apache обратный прокси - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь проксировать кокпит [1] с помощью Apache,

. Он открывает интерфейс входа в систему, но когда после входа в систему я получаю пустой экран, никаких ошибок, ничего. В devtools я нашел ошибку ws Error during WebSocket handshake: Unexpected response code: 400

Демон cockpit-ws выводит это в свои журналы

cockpit-ws[14523]: received invalid or missing Upgrade header: (null)
cockpit-ws[14523]: Received invalid handshake request from the client
cockpit-ws[14523]: WebSocket from 192.168.123.2 for session closed

Я работаю на Centos7 с кабиной 195

Вот соответствующая часть конфигурации

ProxyPreserveHost On                                     
ProxyRequests Off                                        

# allow for upgrading to websockets                      
RewriteEngine On                                         
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]             
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]            
RewriteRule .* ws://192.168.123.2:9090/%{REQUEST_URI} [P]

# Proxy to your local cockpit instance                   
ProxyPass / http://192.168.123.2:9090/                   
ProxyPassReverse / http://192.168.123.2:9090/            

Да, я не использую виртуальный хост, я знаю, я пытаюсь заставить это работать на /cockpit url, но это другой вопрос

Вот /etc/cockpit/cockpit.conf

[WebService]                                                                                         
Origins = https://192.168.123.2:9090 wss://192.168.123.2:9090 http://192.168.123.2 ws://192.168.123.2
ProtocolHeader = X-Forwarded-Proto                                                                   
AllowUnencrypted = true                                                                              

[1] https://cockpit-project.org/

...