我买了一个域名并将其注册到DNS服务器上。但我想知道我的网络服务器如何知道即将到来的请求是否来自我的域名。例如。有人在我的服务器上注册了他的域名。显然apache应该拒绝其他域的请求。我只想知道更多关于web服务器(如apache)如何检测这个问题的细节。它只是在配置文件中设置(可能服务器名称?)并做一些字符串比较?我的网络服务器如何知道域名是我的?
回答
简答:默认情况下,如果其他人将他们的域名指向您的网站,默认情况下,发送到他们计算机的网页与您在www.yourdomain.com上使用的网页相同。您还可以编程您的Web服务器以拒绝/重定向来自其他域的请求。
龙答案(我推荐你读):
一个常见的新手的误解是,域“捆绑”到Web服务器。但是,这不是事实。它们完全不同,并且有些不相关。域只是与您的Web服务器相关的IP地址的简写。一个IP地址就是您的网络服务器的TIED。
例如:
www.example.com可以 '决心'/关联到1.1.1.1 和 www.randomdomain.com也可以解析为1.1.1.1
如果是1.1.1.1您的Web服务器所关联的IP地址,然后这些请求都会发送到您的Web服务器。
现在,如果你考虑一下这个逻辑,你应该能够通过输入1.1.1.1访问你的web服务器。这是真的!
现实世界的例子:
www.google.com去谷歌
172.217.6.78还去谷歌,因为172.217.6.78是网络服务器google.com将关联/决心的一个。继续并在您的网络浏览器中输入172.217.6.78。它会带你到google.com。
DNS服务器将您的域指向您的Web服务器的IP地址。
在你的web服务器:
你的服务器将运行一个软件,将它从外部网络获取请求作出回应。该软件通常会知道如何使用正确的语法来响应此请求,并且能够同时处理多个请求。当这个软件得到一个请求时,它会加载一个文件(你指定的)并将它发送给用户/客户端。
这个软件的常见例子包括Apache(大多数着名/流行 - 像你浏览的所有网站的40%(包括facebook.com)和nginx(变得更受欢迎)。 Apache/nginx/etc Web服务器的默认配置是为该用户(在端口80)提供'www'文件夹中的文档。但是,(对于Apache)如果您想在一台Web服务器上提供多个域(www.example.com & login.example.com),则通常会创建虚拟主机。创建虚拟主机可以通过编辑你的Apache配置文件来完成。 (如果您在GoDaddy/namecheap或类似的东西上托管,则无法访问此内容。)
一个基本的虚拟主机的一个例子是:
<VirtualHost *:80> #80 for port 80 - the standard port for unencrypted web traffic
ServerName www.yourdomain.com
DocumentRoot /where/your/web/files/are/located
<VirtualHost>
然后,您可以创建另一个虚拟主机如果另一个,拒绝/着另一个域的交通
<VirtualHost *:80>
ServerName www.randomotherdomain.com
#here, you could either serve new content to this domain using "DocumentRoot" or you can forward all traffic to your website
Redirect/http://www.yourdomain.com
<VirtualHost>
然而,在默认情况下人员将其域名指向您的网站,默认情况下,发送到其计算机的网页与您用于www.yourdomain.com的网页相同
- 1. 我如何知道我的服务器名称是什么?
- 2. 如何让服务器知道它所服务的域名?
- 3. 我如何知道我的服务器是否有NUMA?
- 4. 如何知道我的SVN服务器提供的网址?
- 5. 如何知道我的ISP的smtp服务器名称?
- 6. 我的系统如何知道根名称服务器?
- 7. 如何知道服务器的域名ping通
- 8. 我如何知道我是否在网络环境中运行?
- 9. 我如何知道服务器的连接是否正确?
- 10. 我如何知道我的服务器有哪些IP?
- 11. 我如何知道我的代理服务器不工作?
- 12. 我如何知道它是Windows服务器还是unix?
- 13. Python:服务器如何在客户端知道网络故障?
- 14. 如何知道服务器是否在线,如果我们只知道IP?
- 15. 如何限制可以调用我的页面/网络服务的域名
- 16. CURLOPT_SSLVERSION在我的网络服务器
- 17. linuXploit_crew打我的网络服务器
- 18. 如何知道我是不是过度配合我的神经网络?
- 19. 我的网络服务是否有效?
- 20. ddd - 我的服务是域名服务还是应用服务?
- 21. 我怎么知道服务名称?
- 22. 如何从网络服务器查看我的播放网站?
- 23. 我的网络浏览器如何解析域名?
- 24. 我如何知道回调是否触发了服务器?
- 25. 我如何知道我的PostgreSQL服务器是否使用“C”语言环境?
- 26. 我如何知道smtp服务器是否发送了我的电子邮件?
- 27. 如何知道在该网络服务器上托管的所有网站?
- 28. 我如何知道服务状态?
- 29. 如何知道我的网站是通过HTTP还是HTTP/2提供服务?
- 30. 如何判断我是否在网络服务器下运行?