我如何才能知道证书实际上来自我的目标IP地址



我正在编写一个文件传输服务器,我将使用TLS来保护传输。如果我的服务器有一个主机名,并且使用https,那么我可以使用主机名验证,但如果我没有主机名,并使用套接字直接连接到ip地址呢?

我还没有说你计划使用什么框架,关于它将如何工作的任何进一步的细节,但以一种闲聊的方式:

  1. RFC 2616描述了http协议是如何工作的,这是一个巨大的协议,但它说,作为其中的一部分,源ip应该设置在头部分,如果没有设置,可以进行一些反向dns来获取主机名

在钩子下,http由非持久性tcp套接字连接传递,该连接在客户端和服务器之间传输数据帧

  1. TCP套接字,现在有了一些背景,当你打开从客户端到服务器的TCP套接字会话时,你只会得到所使用的源/目标ip地址和TCP端口,是的,这是正在运行的TCP/ip协议,所以从这一点开始,你需要实现一种应用程序协议,因为套接字位于TCP/IP模型和https://technet.microsoft.com/en-gb/library/cc958821.aspx上的传输层

PS:很抱歉链接断了,但堆栈溢出不允许我发布超过2个链接,但我建议你也阅读SIO/OSI协议模型,以了解更多如何让互联网工作的魔法,但你得到了ideia

所以,我建议你在nginx服务器上使用http及其漂亮的TLS,它在未来的中会更容易管理

但是,如果你只是想了解这些东西是如何工作的,那么就去创建你自己的应用程序层,比如http,它有一个标头部分、数据部分、文件传输控制、按块发送等等…

最新更新