来自xx.xx.xx.xx:14333的TLS握手错误:EOF

时间:2019-09-04 10:23:27

标签: go ssl https tls1.2 gin-gonic

我正在Linux(RHEL 7)中运行HTTPS服务器。启动服务器后,我立即收到以下错误消息。

2019/09/04 15:46:16 http: TLS handshake error from xx.xx.xx.xx:60206: EOF
2019/09/04 15:46:21 http: TLS handshake error from xx.xx.xx.xx:31824: EOF

此错误正在终端中自动连续出现。 以下是用于创建https服务器的go代码-

package main

import (
    "fmt"
    "net/http"

    "github.com/gin-gonic/gin"
)

func main() {
    fmt.Println("Starting webserver")

    router := gin.Default()
    router.GET("/", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "success": true,
        })
    })

    router.RunTLS(":9001", "server.pem", "server.key")
}

我们已经购买了服务器证书,中间证书和根证书并将其合并为一个文件,以制作server.pem文件。

由于此错误持续不断,并且在启动服务器后立即出现在终端上,我认为VM中存在一些配置问题?

请提出我可以在此处检查的内容。

注意:此错误特定于Go。我已经在Node JS中使用相同证书在同一端口的同一服务器上进行了测试。而且效果很好。 错误消息中的IP也是反向代理服务器(WAF)的IP,它一直在对Web应用程序服务器进行运行状况监视。

1 个答案:

答案 0 :(得分:0)

我将从两个角度解决这个问题:

  1. 这个 Europe newyork india china US 地址是什么?我希望当我启动一些随机软件时,没有任何东西可以单独连接到它们,

  2. 该9001端口有什么特别之处吗?尝试运行xx.xx.xx.xx,看看这些未识别的连接是否也会发生。

    运行nc -l -p 9001,查看是否有来自进行这些连接的客户端的传入流量:TLS设备报告的那些tcpdump(即“文件结尾”)很可能表示这些客户端-无论它们是什么(在TLS握手过程中将连接的一侧关闭),服务器都希望从中读取一些数据。 这暗示着这些客户端实际上并不希望在它们打开的连接中看到TLS协议。并且它们可能会在其中发送一些纯文本,因此您可以对其进行窥视。

  3. 搜索“ 9001端口”暗示它已用于某些“ ETL服务管理器”协议(无论使用什么协议)。 This暗示9001上的流量可能与VoIP有关。

    我不知道该怎么做,但这可能会给您一些进一步研究的线索。