Nginx Stream SSL Ошибка 500 при подключении к Synology

привет @ все у меня проблема с передачей TCP связи на Synology NAS с SSL. Я хочу подключиться с Synology Drive Client к NAS, а клиентское программное обеспечение Drive обменивается данными через TCP-порт 6690 с NAS. Когда я пытаюсь подключиться, я получаю ошибку 500. Без SSL он работает нормально, но если Synology шифрует связь с помощью собственного ненадежного сертификата, это не должно быть решением.

Сборка:

Интернет| --> | Маршрутизатор (переадресация портов 6690) | --> |nginx| -->| NAS(192.168.10.2)|

Нгинкс:

stream{


        log_format log_stream '$remote_addr [$time_local] $protocol [$ssl_preread_server_name] [$ssl_preread_alpn_protocols]'
        '$status $bytes_sent $bytes_received $session_time';

         access_log /var/log/nginx/access.log log_stream;

         ssl_certificate /etc/letsencrypt/live/{mydomain}/fullchain.pem;
         ssl_certificate_key /etc/letsencrypt/live/{mydomain}/privkey.pem;
         ssl_protocols TLSv1.1 TLSv1.2;

   server {
         listen 6690 ssl;
         proxy_pass 192.168.10.2:6690;
       }
}

Журнал:

xx.xx.xxx.xxx [08/Nov/2019:15:09:37 +0100] TCP [-] [-]500 0 0 0.000
xx.xx.xxx.xxx [08/Nov/2019:15:09:37 +0100] TCP [-] [-]500 0 0 0.000
xx.xx.xxx.xxx [08/Nov/2019:15:10:37 +0100] TCP [-] [-]500 0 0 0.000
xx.xx.xxx.xxx [08/Nov/2019:15:10:37 +0100] TCP [-] [-]500 0 0 0.000
xx.xx.xxx.xxx [08/Nov/2019:15:11:37 +0100] TCP [-] [-]500 0 0 0.000
xx.xx.xxx.xxx [08/Nov/2019:15:11:37 +0100] TCP [-] [-]500 0 0 0.000

я также пытаюсь проверить рукопожатие SSL с помощью:

openssl s_client -host mydomain.net -port 6690

и это работает нормально.

Кто-нибудь знает, где моя ошибка??? :-(


person Polliny    schedule 08.11.2019    source источник


Ответы (1)


Аналогичная настройка с целью предоставления доступа к Synology Drive за «более безопасным» Rev-Proxy.

Проблема не в рукопожатии SSL.

Проблема в следующем: не работает протокол http, нет порта 6690 для Synology Drive и т. д. (Ссылка на немецком языке содержит предположения о протоколе, отличном от http, на 6690: https://www.synology-forum.de/showthread.html?74773-Cloud-Station-%C3%BCber-Reverse-Proxy/page3)

Кроме того, я обращаюсь с Drive-Client к своему NginxRevProxy (который в целом работает) и получаю из access.log:

172.18.0.1 - - [09/Nov/2019:10:17:26 +0000] "%R\x18\x14F\x0B\x00\x00" 400 157 "-" "-" "-"

Так что ваш подход (и мой) недостаточен.

Возможный путь решения, который мне пока неизвестен: «Обновить» Nginx до обратного tcp-прокси, если это работает с Synology Drive, использовать «причудливость» Nginx в сочетании с собственным скриптом аутентификации внутри и для TCP- Прокси. (т. е. «злоупотреблять» + расширить показанный здесь TCP-Loadbalancer: https://www.debinux.de/2014/12/nginx-als-tcp-proxy-beispiel-dovecot/)

person Stefan Hanke    schedule 09.11.2019
comment
Звуки, которые вы определяете для передачи Synology в блоке http ??? - person Polliny; 11.11.2019