首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当指定“主机名”时,还需要指定端口吗?

问当指定“主机名”时,还需要指定端口吗?
EN

Server Fault用户
提问于 2019-02-11 16:24:56
回答 3查看 11.6K关注 0票数 6

https://en.wikipedia.org/wiki/Virtual_托管说

基于名称的虚拟主机对同一个IP地址使用多个主机名.

“主机名”是否对应于IP地址或一对IP地址和端口?

当指定“主机名”时,还需要指定端口吗?

如果这很重要,那么只考虑虚拟主机。

谢谢。

EN

回答 3

Server Fault用户

发布于 2019-02-11 16:31:57

主机名不对应于{ipaddress,port} tuple。主机名仅是服务器的名称,应可解析为一个或多个IP地址。端口与主机名毫无关系。

票数 23
EN

Server Fault用户

发布于 2019-02-11 18:22:13

“虚拟主机”只是一个软件的一个特性,它利用额外的上下文在请求中采取不同的行动。

需要注意的一件重要事情是,TCP/IP本身对主机名一无所知;它们的主要目的是查找IP地址。

典型的示例是使用基于名称的虚拟主机的HTTP,其工作方式如下:

  • 用户请求一个URL。在DNS中查找域名,以查找IP地址。
  • TCP连接打开到特定的IP地址和端口。(对于HTTP,默认为端口80;对于HTTPS,默认为端口443)。
  • 客户端在该连接上发送请求,其中包括所使用的协议指定的任何信息。
    • 在HTTP1.1中,这包括“主机”报头,它是用户查找IP地址时查找的域名。
    • 对于安全连接,TLS握手可以包括一个“服务器名称指示”字段,以便在同意证书之前就可以使用。

  • 监听IP地址和端口的服务器软件现在拥有所有三种信息: IP地址、端口号和主机名;它可以使用这些信息来确定应用于请求的配置。这个配置是“虚拟主机”。
票数 9
EN

Server Fault用户

发布于 2019-02-11 19:51:33

主机名由DNS (或其他像主机文件一样的名称解析)处理。when服务器在IP/Socket上侦听,但是在运行虚拟主机时,它们也会查看FQDN用于请求页面的请求头。

当运行虚拟主机的web服务器响应请求时,它会查看请求头,看看请求是否来自它知道的主机,然后提供正确的页面。也就是说,如果我有一个具有虚拟主机的initech.xyz服务器,DNS将指向我的web服务器的IP,它正在侦听默认的http/s端口(80/443)。根据配置,您可以打开/关闭每个虚拟主机响应的不同端口,但从IP/端口的角度来看,如果启用了端口,则端口是打开的。

此外,DNS可以有多个IP解析为同一名称,反之亦然。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/953380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档