通过 SSL 连接到 ZNC

Posted

技术标签:

【中文标题】通过 SSL 连接到 ZNC【英文标题】:Connecting to ZNC over SSL 【发布时间】:2021-02-28 21:00:49 【问题描述】:

我尝试通过 SSL 设置 ERC > ZNC 连接。无 SSL 连接工作正常。问题是当我尝试通过erc-tls 命令使用Erc 进行连接时,什么也没有发生,“正在打开连接..”消息永远存在。

ZNC 配置:

AnonIPLimit = 10
ConnectDelay = 5
ProtectWebSessions = true
ServerThrottle = 30
Skin = _default_
StatusPrefix = *
SSLCiphers = EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocols = -SSLv2 -SSLv3 -TLSv1 +TLSv1.1 +TLSv1.2
Version = 1.7.2

<Listener l>
    IPv4 = true
    IPv6 = false
    SSL = true
    AllowIRC = true
    AllowWeb = false
</Listener>
...

Emacs 配置:

  (setq tls-program
    '("gnutls-cli --x509cafile %t -p %p %h"
      "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3"
      "gnutls-cli --priority secure256 -p %p %h"))

我通过 ERC 连接:(erc-tls :server "server.domain" :port 55555 :nick "znc-nick" :password "znc-nick/freenode:znc-password")

有什么想法吗?

【问题讨论】:

【参考方案1】:

问题解决了。该问题是由 Emacs 中过于严格的网络配置文件引起的,它不允许传入的自签名证书。为了解决这个问题,并保持当前设置不变,我创建了我运行以启动 ERC 会话的函数。我使用ZNC包连接ZNC服务器。

  (defun my/znc-all ()
    "Connect to all ZNC networks. Accept incoming self signed certificates."
    (interactive)
    (let ((tls-checktrust nil)
           (gnutls-verify-error nil))
      (znc-all)))

【讨论】:

以上是关于通过 SSL 连接到 ZNC的主要内容,如果未能解决你的问题,请参考以下文章

通过 SSL 上的 PHP PDO 连接到 MSSQL 服务器

使用 K6 - 3000 VU 轰炸 AWS EC2。连接开始超时,现在我无法通过 SSL 或 HTTP 请求连接到实例。这是啥?

C++ 客户端通过 SSL 连接到 IBM MQ

连接到 MySQL 数据库时有关 SSL 连接的警告

通过 SSL 将 phpMyAdmin 连接到 MySQL 服务器

使用 R 通过 SSL 连接到 Postgres