代码之家  ›  专栏  ›  技术社区  ›  Polliny

连接到Synology时出现Nginx Stream SSL错误500

  •  0
  • Polliny  · 技术社区  · 5 年前

    我想与Synology驱动器客户端连接到NAS,驱动器客户端软件通过TCP端口6690与NAS通信。 如果没有SSL,它工作得很好,但是比Synology使用自己的不可信证书加密通信要好得多,这不应该是解决方案。

    构建:

    Nginx公司:

    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
    

    有人知道我的错在哪里吗???:-(

    0 回复  |  直到 5 年前
        1
  •  0
  •   Stefan Hanke    5 年前

    类似的设置,目的是在“更安全的”Rev Proxy后面提供对Synology Drive的访问。

    问题不在于SSL握手。

    https://www.synology-forum.de/showthread.html?74773-Cloud-Station-über-Reverse-Proxy/page3 )

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

    所以你(和我)的方法是不够的。

    可能的解决方法,这超出了我目前的知识范围: 将Nginx“升级”到反向tcp代理,如果这与Synology Drive一起工作,请将Nginx的“fancynes”与tcp代理中的自己的auth脚本结合使用。(即“滥用”+扩展TCP负载平衡器,如下所示: https://www.debinux.de/2014/12/nginx-als-tcp-proxy-beispiel-dovecot/