Win Server 2019 RDS HTML 5 веб-клиент не работает через веб-прокси nginx
Наша среда требует, чтобы наш шлюз Windows Server 2019 RDS (с установленным на нем веб-клиентом HTML 5) находился за веб-прокси nginx. Часть сайта работает нормально, но соединение разрывается при попытке подключить приложение сеанса терминала RDS в веб-клиенте HTML 5. Использование клиента RDS работает просто отлично.
Вот наша установка:
- Сервером 2019 RDS является шлюз gateway.corp.domain.com
- Шлюз RDS настроен на использование remote.domain.com в качестве публичного адреса
- remote.domain.com указывает на веб-сервер nginx
- веб-сервер nginx (используя правильные заголовки веб-сокетов) передает трафик в и из шлюза RDS (gateway.corp.domain.com)
На стороне клиента мы получаем ошибку в веб-браузере:
The connection to the remote PC was lost
В консоли веб-инспектора мы видим ошибку из-за невозможности установить соединение через веб-сокет:
Gateway channel creation failed with error code=2147965402
а также
Could not connect to wss://remote.domain.com/remotedesktopgateway/...
Кто-нибудь знает, что мы можем сделать, чтобы это исправить, чтобы мы могли получить доступ к нашим приложениям RDS через веб-клиент?
Я не могу найти какую-либо документацию по этому вопросу, чтобы понять, что именно нужно серверу веб-клиента HTML 5. К сожалению, удаление обратного веб-прокси не вариант.
1 ответ
Наконец-то я понял это, решая другую проблему: проблема была вызвана чрезмерно ограничительным заголовком Content-Security-Policy, добавленным обратным прокси-сервером nginx.
До этого заголовок имел только default-src; теперь у него есть image-src и media-src для разрешения типов данных: и blob:. Это заголовок, который работает в настоящее время (вероятно, чрезмерно разрешающий, но он работает, пока мы не сможем рассмотреть его далее):
default-src * data: 'unsafe-eval' 'unsafe-inline'; img-src * data: blob:; media-src * data: blob: