问题标签 [stunnel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1592 浏览

php - 带有 OpenSSL 签名证书的 PHP Websocket SSL Stunnel “坏证书”

我知道还有很多其他类似的问题,但经过几天的尝试,我没有更多解决问题的想法。

我第一次体验 Websocket 连接,我需要建立一个简单的聊天,为此我正在尝试 PHPWebSocketServer ( https://github.com/ghedipunk/PHP-WebSockets ),所以我测试了这个聊天例如(https://github.com/Flynsarmy/PHPWebSocket-Chat),一切正常,直到我使用 ws 连接(这是一个已知的故事)。

对于 wss,我使用 pem 签名的 OpenSSL 证书设置了 Stunnel,服务已启动,端口 (9040 - 9000) 已打开,并且 websocket 服务器正确侦听端口 9000 (php ./server.php),但是我无法弄清楚为什么在 stunnel.log 中每个浏览器客户端调用中总是出现“错误证书”错误。

下面是所有可能有用的文件和日志。从 Websocket php 服务器文件开始:

服务器.php

客户端聊天.php

stunnel.conf

我的 OpenSSL 签名证书来自 ssls (COMODO) CA,正如 stunnel howto 中所建议的,我使用服务器机器的主机名作为通用名称,我们称之为(mydomain.com),但我还有另一个 OpenSSL 证书我网站的域名作为 https 模式的通用名称(www.mydomain.com),我都使用过,但错误仍然相同。

无论如何,COMODO 向我发送了 4 个不同的文件,mydomain_com.crt、COMODORSADomainValidationSecureServerCA.crt、COMODORSAAddTrustCA.crt、AddTrustExternalCARoot.crt,我已经以这种精确的方式将它们分类到 stunnel.pem 文件中。

stunnel.log(服务启动时)

stunnel.log(客户端 wss 调用)

我也试过openssl客户端连接

它有效!

请帮忙!

0 投票
1 回答
920 浏览

networking - 如何在 Windows 7 上自动安装环回适配器

我正在开发一个需要环回适配器的软件。我想通过批处理脚本自动安装环回适配器。

请让我知道实现此功能的最佳方法。

0 投票
2 回答
5675 浏览

macos - Mac OS 上 x86_64 架构的未定义符号

我正在尝试在 Mac OS 10.10 上安装 stunnel 软件,但出现以下错误

架构 x86_64 的未定义符号

make从终端执行命令时。

以下是详细日志:

0 投票
0 回答
862 浏览

mongoose - stunnel -starttls xmpp 返回“SSL23_GET_CLIENT_HELLO:未知协议”

我想通过 stunnel 代理到 XMPP ejabberd/mongoose 服务器。Stunnel 有一个证书,client=no 等。这是配置:

如果我以这种方式连接:

几乎一切都很好。我的意思是 stunnel 没有错误,xmpp 服务器知道有东西试图连接到它。

但是,如果我以这种方式连接,就像客户端一样(使用 -starttls xmpp):

我在 stunnel 日志中收到错误:

并且 xmpp 服务器日志是安静的,这意味着没有任何东西试图连接到 xmpp。

我应该怎么做才能使用 -startssl xmpp 很好地处理客户端请求?

谢谢你。

0 投票
0 回答
2332 浏览

linux - 透明 stunnel 代理 setsockopt 不允许操作

我正在尝试在服务器上为 websocket 服务运行一个透明的 stunnel4 代理。

WS 服务器基于 Ratchet 框架,因此不支持 WSS,因此需要代理。

当在 stunnel.conf 中将 transparent 设置为 none 时,websocket 流量可以顺利通过,并且除了 WS 服务器而言,所有流量都来自 127.0.0.1 之外,一切都运行良好。但是,一旦将透明设置为源,客户端就会得到
WebSocket connection to 'wss://<ADDR>:32770/' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET

据我所知,问题始于setsockopt IP_TRANSPARENT: Operation not permitted (1)stunnel 日志。我已经设置了 stunnel 文档中所需的所有 iptables 设置,并确保一切都以 root 身份运行。我已经解决这个问题三天了,我的搜索词的所有变体都变成了紫色,但无济于事。我希望这里有一个服务器向导来帮助我解决问题。

stunnel 文档参考:https ://www.stunnel.org/static/stunnel.html#SERVICE-LEVEL-OPTIONS

设置:
服务器正在运行 Ubuntu 12.04.5 LTS (GNU/Linux 2.6.32-042stab093.4 x86_64)
使用 stunnel 4

open_server.php 文件:

stunnel.conf:

尝试使用 transparent = source 命中套接字时的整个调试输出:

检查权限时的 Bash 输出:

0 投票
2 回答
5600 浏览

node.js - 保护节点 Redis

我正在尝试保护 Node Redis IPC 服务器以使用私钥/公钥。我遵循了本教程,该教程使用stunnel将 Redis 使用的隧道包装在 SSL 层下。

该示例不适用于 Node,但它确实保护了连接,如果我在配置文件中包含认证,我只能连接到服务器,否则连接会被重置。

但是,我不能用 NodeJS 复制它。在我的服务器计算机上,我有:

在我的客户端计算机上,我有:

但是,无论我是否在stunnel配置文件中包含认证,这两个设备都会进行通信。如何确保此连接安全?

干杯

0 投票
0 回答
582 浏览

ssl - 如何设置安全隧道以允许客户端与 websocket 通信?

我需要允许客户端连接到服务器 10.0.4.160 上的 websocket。10.0.4.160 服务器上没有安装 SSL,但它有一个在端口 8080 上运行的 websocket。

我需要设置一个安全隧道以允许客户端连接到 websocket。

我在我的 Windows Server 2008 R2 上安装了 stunnel,并将我的 stunnel.conf 文件更改为看起来像这样

我希望连接到端口 8433 上的服务器,并且 stunnel 将允许连接连接到端口 8080

这是我在客户端控制台中使用的代码“当然,控制台在我内部网络上的 PC 上”

在服务器上我打开一个命令行并执行这个 telnet localhost 8080

我得到一个命令行,当我从控制台触发上面的代码时,我在服务器的命令行中看到了这个

在此处输入图像描述

但几秒钟后,我在控制台中收到此错误

如果我尝试使用发送命令,则会conn.sent('Hello')收到此错误

此外,我尝试通过添加debug = 7

这就是我在 stunnel 控制台中得到的。我不明白出了什么问题,因为日志显示客户端已连接但我无法将消息从客户端发送到服务器

我在这里做错了什么?怎么连接一直失败?

0 投票
1 回答
13087 浏览

javascript - 无法连接到 websocket

我使用Ratchet创建了一个 PHP websocket 。8080这个 Websocket 正在我的内部服务器的端口上运行10.0.4.160

我正在尝试从启用了 SSL“又名使用 https 协议”的网站连接到它。

当尝试从 FireFox 浏览器连接到 websocket 时,我从浏览器收到安全问题,因为我在安全/非安全连接之间混合。这是我在 javascript 控制台中看到的错误。

SecurityError:操作不安全。

为了解决安全问题,我创建了一个stunnel代理,它允许我接受连接 10.0.4.160:58443并将其连接到 port 127.0.0.1:8080。这个安全隧道应该允许我保持与 websocket 的连接安全并绕过浏览器的安全检查。

但是,每次我尝试连接到 websocket 时都会出现错误

WebSocket 连接到“wss://10.0.4.160:58443/”失败:连接建立错误:net::ERR_TIMED_OUT

这是用于连接到 websocket 的 jQuery 脚本

这是我当前的 stunnel 配置

如何从我的浏览器连接到 websocket?谢谢

0 投票
1 回答
441 浏览

docker - Docker Stunnel - 查找 IP 地址

在创建新容器时,docker 也会创建一个新的 IP 地址。我的 stunnel 的配置文件需要这个 IP 地址。

换句话说,如何正确设置 docker stunnel?

0 投票
1 回答
1104 浏览

c++ - 保护 Cap'n Proto RPC 网络流量的好方法是什么?

我想使用 Cap'n Proto RPC 从办公室的桌面盒与云中的服务器进行通信。Cap'n Proto 不提供通过防火墙的安全网络连接。我更喜欢 c++,因为我有其他需要这个的组件。

我看到有些人一直在研究 nanomsg 和其他直接链接到应用程序的传输,但我想知道 stunnel 或类似的东西是否令人满意。

众所周知,stunnel 应用程序可以在某些条件下提供 TCP/IP 流量的 HTTPS 封装,根据常见问题解答:

  1. 协议是 TCP,而不是 UDP。
  2. 该协议不使用多个连接,例如 ftp。
  3. 该协议不依赖于带外 (OOB) 数据,
  4. 远程站点不能使用特定于应用程序的协议,例如 ssltelnet,其中 SSL 是一个协商选项,除了 stunnel 的协议参数已经支持的那些协议。

Cap'n Proto RPC 似乎可以满足这些条件。在这种情况下,我认为客户不会反对安装 stunnel。有没有人尝试过这个或类似的东西?如果是这样,您的经验将不胜感激。如果有人知道更快/更轻的替代方案,它也会有所帮助。

谢谢!