如何为Apache服务器设置名称?

时间:2016-08-07 21:07:32

标签: html apache server ip connect

我成功创建了一个apache服务器但我不想通过键入192.168.0.102来连接它,我想要一个像www.google.com这样的普通网址。我怎样才能做到这一点?我去了httpd.conf并找到了ServerName行,但将它设置为像www.mysite.com这样的东西似乎不起作用。我也尝试使用我的外部IP(https://www.whatismyip.com)作为服务器名称,但它没有连接。它只有在我尝试连接到192.168.0.102或localhost时才有效。我该如何解决这个问题?感谢

3 个答案:

答案 0 :(得分:1)

您需要了解三件基本事项。

虚拟名称托管

HTTP允许多个网站托管在同一个IP地址和端口上。客户端使用Host请求标头告诉服务器它想要获取数据的站点。

ServerName用作此项的一部分。

...但客户端需要知道如何首先向服务器发送请求。

DNS

当客户端向服务器发出请求时,它使用服务器的IP地址,以允许它通过网络(或网络)传递给它。这是地址。

IP地址是数字序列,对人类来说不是非常友好。

DNS将友好名称(如www.example.com)转换为IP地址。

客户端必须查找名称才能找到IP地址。它通常通过主DNS系统执行此操作,并且为了将您的名称链接到您的IP地址,您需要找到域名注册商并付款。

也可以在专用网络上的本地级别设置DNS,也可以使用hosts文件在计算机级别设置DNS。

路由

服务器的IP地址必须可以从运行客户端的计算机进行路由。

192.168.0.102是一个私人地址,只能在同一个局域网上访问。要使Internet上的客户端可以访问它,您需要:

  • 设置路由器以使用端口转发,然后使用面向Internet的路由器的IP地址(https://www.whatismyip.com告诉您)
  • 为您的计算机提供一个公共IP地址,并配置您的路由器以便为其路由流量(这在消费级路由器上通常是不可能的。)

答案 1 :(得分:0)

总之,你不能。无法从Internet访问192.168.0.102,它是内部IP。

但您有一些选择,例如,如果您想从主机名访问您的计算机,则可以使用动态DNS服务器。

或者您想在一个壮观的域上测试您的代码,您可以将192.168.0.102与域添加到您的hosts文件,然后只有您可以在本地计算机上使用此域。

但是,如果您真的想从本地计算机向Internet提供某些内容,则必须找到DNS服务器服务(如cloudflare),将您的域指向您的公共Internet ip,而不是192.168.0.102。

答案 2 :(得分:0)

配置虚拟主机并将服务器名称设置为所需的域名。之后,Apache将检查请求,并在请求该域名时使用该虚拟主机。为了使其正常工作,该域应指向运行服务器的IP地址。

如果要测试配置是否有效,请编辑/ etc / hosts文件并将该域名添加到127.0.0.1。之后,如果您尝试从浏览器访问该域名,则可以访问该虚拟主机。

此处有更多信息:https://httpd.apache.org/docs/current/vhosts/name-based.html