要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。一个域名对应一个IP地址,一个IP地址可以对应多个域名;所以多个域名可以同时被解析到一个IP地址。域名解析需要由专门的域名解析服务器(DNS)来完成。
扩展资料
域名解析的过程
当应用过程需要将一个主机域名映射为IP地址时,就调用域名解析函数,解析函数将待转换的域名放在DNS请求中,以UDP报文方式发给本地域名服务器。
本地的域名服务器查到域名后,将对应的IP地址放在应答报文中返回。同时域名服务器还必须具有连向其他服务器的信息以支持不能解析时的转发。
若域名服务器不能回答该请求,则此域名服务器就暂成为DNS中的另一个客户,向根域名服务器发出请求解析,根域名服务器一定能找到下面的所有二级域名的域名服务器,这样以此类推,一直向下解析,直到查询到所请求的域名。
最近数次遇到这种情况:硬件资源有限,但有些开发配置要求比较严苛(如在微信公众号进行接口配置或安全域名配置),要求80端口甚至顶级域名。但服务器的80端口早就被之前的已经上线的应用占掉了。
因此做了一些尝试,最终解决了访问问题。
域名都解析到该服务器的IP下,通过Nginx区分主机头,从而决定请求访问到哪个应用。
相当于门卫将不同的来者领到不同的房间。
最终通过对Nginx的配置实现了需求。
目前用着没啥问题,但 优劣还待考证。
指向第二个应用的本机地址。
附上原有的第一个应用的upstream。
注意本例中,要新添加的解析二级域mysite.mydomain.com
再给conf添加如下1个server:
添加后,有2个server,一个用来匹配 www.me.com ,一个用来匹配 mysite.mydomain.com 。
附上原有的另一个server:
upstream和server都在conf中加好后,使用如下命令测试一下配置文件是否可用。以我自己的为例:
通过后,再重启nginx。
先检查一下原有的域名访问是否一如既往。
注意测试前可清除一下DNS缓存。
如果是Mac系统,使用如下命令:
在域名商(域名在哪家买的就去哪家)处,增加新域名(二级域名)的A记录解析到该IP。
一般的服务器,解析后即可生效,不需要在空间商处做额外的动作。
但如果域名商为西部数据且空间是国内要备案的那种空间,则需要:
清除一下DNS缓存。
如果是Mac系统,使用如下命令:
然后使用nslookup看一下你的两个域名是否已经指向了你这台服务器的IP。
之后就通过不同域名访问,看看是否导向了不同的应用即可。
~ END ~
受益于如下这些文章:
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)