Apache如何解析'localhost'

时间:2016-08-08 09:05:15

标签: apache

通过常规的apache设置,在浏览器中输入localhost127.0.0.1将导致apache尝试提供~/public_html以外的文件。我想知道~部分是如何解决的,因为 http请求中没有关于系统用户的信息,并且多个用户可能同时使用相同的apache服务,因此无法根据“当前登录用户”解决。那么apache如何知道如何解决~

2 个答案:

答案 0 :(得分:0)

Apache提供User指令。

  

User指令设置服务器将回答的用户ID   要求。要使用此指令,必须运行服务器   最初为root。如果以非root用户身份启动服务器,则为   将无法更改为较低权限的用户,而是将改为   继续以原始用户身份运行。

答案 1 :(得分:0)

涉及几个不同的概念。

  • 浏览器使用底层操作系统DNS解析器将所有名称解析为IP地址,该解析器通常是本地地址的文本文件和远程DNS服务器的网络查询(以及相应的缓存)的组合

  • localhost是127.0.0.1的标准别名(换句话说,本地计算机)。在浏览器中加载localhost的任何其他人都将连接到他的机器,而不是你的机器。

  • ~是Unix shell用来表示当前用户主目录的语法糖。

  • 默认Apache设置不会从主目录加载任何内容。但是,许多第三方软件包都会改变这种情况。

  • 有一个可选的Apache模块(mod_userdir),可以从嵌套在主站点的主目录中提供自动定制站点。语法是使用(http://example.com/~john)模仿~ shell语法(但它是一个不同的东西)并且与localhost无关。