我正在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应用程序服务器进行运行状况监视。
答案 0 :(得分:0)
我将从两个角度解决这个问题:
这个 Europe
newyork
india
china
US
地址是什么?我希望当我启动一些随机软件时,没有任何东西可以单独连接到它们,
该9001端口有什么特别之处吗?尝试运行xx.xx.xx.xx
,看看这些未识别的连接是否也会发生。
运行nc -l -p 9001
,查看是否有来自进行这些连接的客户端的传入流量:TLS设备报告的那些tcpdump
(即“文件结尾”)很可能表示这些客户端-无论它们是什么(在TLS握手过程中将连接的一侧关闭),服务器都希望从中读取一些数据。
这暗示着这些客户端实际上并不希望在它们打开的连接中看到TLS协议。并且它们可能会在其中发送一些纯文本,因此您可以对其进行窥视。
搜索“ 9001端口”暗示它已用于某些“ ETL服务管理器”协议(无论使用什么协议)。 This暗示9001上的流量可能与VoIP有关。
我不知道该怎么做,但这可能会给您一些进一步研究的线索。