我正在尝试在一台计算机和另一台计算机之间建立安全连接。
就我的情况而言,SSH 似乎不是一个好的解决方案,而且 VPN 在我们的情况下也是最糟糕的。
首先,我在内部测试了我的配置,它运行良好。
因此,我将相同的配置移到了我们的外部服务器(通过 SSH 发送),现在数据包已损坏。PostgreSQL 说:postgresql | LOG: invalid length of startup packet
和 Apache 400 Error = Bad Request
。
在两种情况下,我们都使用 Debian 8.5。
返回示例隧道和PostgreSQL。
2016.09.15 09:23:18 LOG5[10639]: stunnel 5.06 on x86_64-pc-linux-gnu platform
2016.09.15 09:23:18 LOG5[10639]: Compiled with OpenSSL 1.0.1k 8 Jan 2015
2016.09.15 09:23:18 LOG5[10639]: Running with OpenSSL 1.0.1t 3 May 2016
2016.09.15 09:23:18 LOG5[10639]: Update OpenSSL shared libraries or rebuild stunnel
2016.09.15 09:23:18 LOG5[10639]: Threading:PTHREAD Sockets:POLL,IPv6,SYSTEMD SSL:ENGINE,OCSP,FIPS Auth:LIBWRAP
2016.09.15 09:23:18 LOG5[10639]: Reading configuration from file /root/docker/stunnel/stunnel.conf
2016.09.15 09:23:18 LOG5[10639]: FIPS mode disabled
2016.09.15 09:23:18 LOG4[10639]: Insecure file permissions on /root/docker/stunnel/stunnel.pem
2016.09.15 09:23:18 LOG5[10639]: Configuration successful
2016.09.15 09:23:26 LOG5[10640]: Service [DB] accepted connection from xxx.xxx.xxx.xxx:42004
2016.09.15 09:23:26 LOG5[10640]: s_connect: connected 172.18.0.2:5432
2016.09.15 09:23:26 LOG5[10640]: Service [DB] connected remote server from 172.18.0.1:38565
postgresql | LOG: invalid length of startup packet
2016.09.15 09:23:26 LOG5[10640]: Read socket error: Broken pipe (32)
2016.09.15 09:23:26 LOG5[10640]: Connection reset: 0 byte(s) sent to SSL, 167 byte(s) sent to socket
这是我的隧道配置 :
client = no
protocol=proxy
fips=no
foreground=yes
sslVersion = all
options = NO_SSLV2
pid = /root/docker/stunnel/stunnel.pid
cert = /root/docker/stunnel/stunnel.pem
[DB]
accept = 0.0.0.0:8443
connect = 172.18.0.2:5432
在我的客户那里:
pid = /var/run/stunnel.pid
cert = /etc/stunnel/stunnel.pem
client = yes
[bd]
accept = 5432
connect = xxx.xxx.xxx.xxx:8443
祝您有愉快的编码日!