首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Apache服务器设置名称?

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

Stack Overflow用户
提问于 2016-08-08 05:07:32
回答 3查看 1.2K关注 0票数 0

我成功地创建了一个apache服务器,但我不想通过输入192.168.0.102连接到它,我想要一个像www.google.com这样的普通url。我该怎么做呢?我访问了httpd.conf,找到了ServerName行,但将其设置为类似www.mysite.com的值似乎不起作用。我也尝试使用我的外部ip(https://www.whatismyip.com)作为服务器名称,但它不能连接。只有当我尝试连接到192.168.0.102或localhost时,它才能工作。我该如何解决这个问题?谢谢

EN

回答 3

Stack Overflow用户

发布于 2016-08-08 05:20:17

有三件基本的事情你需要知道。

虚拟名称托管

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

ServerName就是其中的一部分。

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

DNS

当客户端向服务器发出请求时,它会使用服务器的IP地址,以便通过网络将请求传递给服务器。这就是地址。

IP地址是一系列的数字,这对人类来说并不是很友好。

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

客户端必须查找名称才能找到IP地址。它通常通过主DNS系统做到这一点,为了让你的名字链接到你的IP地址,你将需要找到一个域名注册商并支付他们。

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

路由

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

192.168.0.102是一个私有地址,只能在同一局域网上访问。要使Internet上的客户端能够访问它,您需要执行以下任一操作:

  • 将您的路由器设置为使用端口转发,然后使用路由器的面向互联网的IP地址( https://www.whatismyip.com告诉您),或者
  • 为您的计算机提供一个公用IP地址,并配置您的路由器将流量路由到该地址(这在消费级路由器上通常是不可能的)。
票数 1
EN

Stack Overflow用户

发布于 2016-08-08 05:13:09

简而言之,您不能。192.168.0.102不能从Internet访问它是内部IP。

但您也有一些替代方案,例如,如果您希望从主机名访问您的计算机,您可以使用动态DNS服务器。

或者你想在一个壮观的域上测试你的代码,你可以将带有域的192.168.0.102添加到你的主机文件中,然后只有你才能在你的本地计算机上使用这个域。

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

票数 0
EN

Stack Overflow用户

发布于 2016-08-08 05:17:14

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

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

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

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

https://stackoverflow.com/questions/38818564

复制
相关文章

相似问题

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