DNS & bind详解

2023-11-13

1. DNS基础知识

1.1 DNS的出现及演化

      网络出现的早期是使用IP地址通讯的,那时就几台主机通讯。但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linux和Windows也继承保留了这个文件)。这个文件中记录着主机名称和IP地址的对应表。这样只要输入主机名称,系统就会去加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了。
但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放hosts文件,以供下载使用。互联网规模进一步扩大,这种方式也不堪重负,而且把所有地址解析记录形成的文件都同步到所有的客户机似乎也不是一个好办法。这时DNS系统出现了,随着解析规模的继续扩大,DNS系统也在不断的演化,直到现今的多层架构体系。

1.2 什么是DNS

      DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS可以使用TCP和UDP的53端口,基本使用UDP协议的53端口。
      DNS 的分布式数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树中路径,这棵逆向树称为域名空间(domain name space)。

1.3 域的分类

域是分层管理的。
第一层:根域

  • 根域 : .

第二层 :顶级域 (tld top level domain)

  • 按国家划分:.cn(中国)、.tw(台湾)、.hk(香港) 等。
  • 按组织性质划分:.org、.net、.com、.edu、.gov 等。
  • 反向域:arpa ,这是反向解析的特殊顶级域。

第三层及以下:
      顶级域下来就是普通的域,公司或个人在互联网上注册的域名一般都是这些普通的域,如jd.com。
在这里插入图片描述
注:正向解析与反向解析完全是两个不同的库,这儿只是为了方便理解。

1.4 主机名、域名、FQDN

以百度(www.baidu.com)和百度贴吧(tieba.baidu.com)来举例。

域名: 不论是 www.baidu.com 还是 tieba.baidu.com,它们的域名都是 baidu.com,严格地说是 “baidu.com.”。这是百度所购买的com域下的一个子域名。
主机名: 对于 www.baidu.com 来说,主机名是 www,对于 tieba.baidu.com 来说,主机名是 tieba。其实严格来说,www.baidu.com 和 tieba.baidu.com 才是主机名,它们都是 baidu.com 域下的主机。一个域下可以定义很多主机,只需配置好它的主机名和对应主机的IP地址即可。
FQDN: FQDN(Fully Qualified Domain Name),称为完整主机名,是指包含了所有域的主机名,其中包括根域。FQDN 可以说是主机名的一种完全表示形式,它从逻辑上准确地表示出主机在什么地方。例如 www.baidu.com 的 FQDN 是 “www.baidu.com.”,com 后面还有个点,这是根域;tieba.baidu.com 的 FQDN 是 “tieba.baidu.com.”。

1.5 DNS解析流程

在这里插入图片描述

这儿以我们访问 www.baidu.com 为例。
(1) 本地主机首先会查找本机 DNS 缓存,然後查询本地 hosts 文件是否有 www.baidu.com. 这个 FQDN 所对应的主机 IP 地址,若有,则直接使用;若没有,本机将向指定的 dns server 发起查询请求(这个 DNS 服务器就是计算机里设置指向的 DNS)。
(2) DNS 服务器收到询问请求,首先查看自己是否有 www.baidu.com 的缓存,如果有就直接返回给客户端,没有就越级上访到根域".",并询问根域。
(3) 根域只是记录了 .com 域的相关信息,所以将 .com 域的地址返回给 DNS 服务器。
(4) DNS 服务器根据根域返回的信息向 .com 域发起查询请求,由于 .com 域只记录了 baidu.com 的信息,所以将 baidu.com 域的地址返回给 DNS 服务器。
(5) DNS 服务器根据 .com 域返回的信息向 baidu.com 域发起查询请求,于是 baidu.com 域的 DNS 服务器就去查询本地的记录,找到了 www 主机对应 IP 地址,将该 IP 地址返回给 DNS 服务器。
(6) DNS 服务器将得到的 IP 地址返回给客户端,并缓存一份结果在自己机器中,方便下一次客户端再次访问该站点。
(7) 客户端得到回答的IP地址后缓存下来,并去访问 www.baidu.com,然后 www.baidu.com 就把页面内容发送给客户端,也就是百度页面。

注:
      1.本机查找完缓存后如果没有结果,会先查找hosts文件,如果没有找到再把查询发送给DNS服务器,但这仅仅是默认情况,这个默认顺序是可以改变的。在/etc/nsswitch.conf中有一行" hosts: files dns"就是定义先查找hosts文件还是先提交给DNS服务器的,如果修改该行为"hosts: dns files"则先提交给DNS服务器,这种情况下hosts文件几乎就不怎么用的上了。
      2.由于缓存是多层次缓存的,所以真正的查询可能并没有那么多步骤,上图的步骤是完全没有所需缓存的查询情况。假如某主机曾经向DNS服务器提交了www.baidu.com的查询,那么在DNS服务器上除了缓存了www.baidu.com的记录,还缓存了".com"和"baidu.com"的记录,如果再有主机向该DNS服务器提交ftp.baidu.com的查询,那么将跳过".“和”.com"的查询过程直接向baidu.com发出查询请求。
      3.DNS解析过程中存在两种查询类型:递归查询(从客户机至指定DNS服务器)、迭代查询(从DNS服务器至各个域)。

1.6 DNS分类

主DNS服务器: 就是一台存储着原始资料的DNS服务器。
从DNS服务器: 使用自动更新方式从主DNS服务器同步数据的DNS服务器。也成辅助DNS服务器。
缓存服务器: 不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。同时缓存查询回来的结果,也叫递归服务器。
转发器: 这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果。

1.7 资源记录

      DNS服务器是如何根据主机名解析出 IP 地址,或从 IP 地址解析出主机名的呢?这儿我们就要用到资源记录(Resource Record),简称 RR。常用的记录类型有:A、AAAA、SOA、NS、PTR、CNAME、MX 等。
资源记录的定义格式:

name     [TTL]     IN     RR_TYPE     value

SOA(Start Of Authority): 起始授权记录,一个区域解析库有且只能有一个SOA记录,而且必须放在第一条。

name:当前域的名称,如 "baidu.com.",或"4.3.2.in-addr.arpa."。
value:由多部分组成。
	(1) 当前域的名称(也可使用主DNS服务器名称);
	(2) 当前域管理员的邮箱地址,但地址中不能使用@符号,一般使用 "." 来代替;
	(3) 主从服务协调属性的定义;
		第一个值是区域数据文件的序列编号serial,每次修改此区域数据文件都需要修改该编号值以便让slave dns服务器同步该区域数据文件。
		第二个值是刷新refresh时间间隔,表示slave dns服务器找master dns服务器更新区域数据文件的时间间隔。
		第三个值是重试retry时间间隔,表示slave dns服务器找master dns服务器更新区域数据文件时,如果联系不上master,则等待多久再重试联系,该值一般比refresh时间短,否则该值表示的重试就失去了意义。
		第四个值是过期expire时间值,表示slave dns服务器上的区域数据文件多久过期。
		第五个值是negative answer ttl,表示客户端找dns服务器解析时,否定答案的缓存时间长度。
		这几个值可以分行写,也可以直接写在同一行中使用空格分开。
		
例如:
	test.com.	IN		SOA		test.com. 	admin.test.com.  (
										2018110601	;serial
										2H			;refresh  2 hours					
										10M			;retry	 10 min
										1W			;expire   1	week
										1D			;negative answer ttl 	1 day
	)

NS(Name Server):存储的是该域内的 DNS 服务器相关信息。即 NS 记录标识了哪台服务器是 DNS 服务器。

name:当前域的名称。
value:当前域的某 DNS 服务器的名称,如 "ns.test.com."。

例如
	test.com	IN	 NS	 ns1.test.com
	test.com 	IN	 NS	 ns2.test.com

注:一个域内可以有多个 ns 记录,即可以存在多台 DNS 服务器。

A(Address):存储的是域内主机名所对应的ip地址。

name:某 FQDN,如 "www.test.com."。
value:某 IPv4 地址。

例如:
	www.test.com. 	IN	 A	 192.168.100.200

注:AAAA记录格式和A记录格式相似,但 value 是某 IPv6 地址。

PTR(Pointer):和A记录相反,存储的是 ip 地址对应的主机名,该记录只存在于反向解析的区域数据文件中(并非一定)。

name:IP 地址,有特定格式,且加上特定后缀,如:"1.2.3.4" 的记录应该写为 "4.3.2.in-addr.arpa"。
value:某 FQDN

例如:
	4.3.2.in-addr.arpa 	IN 	 PTR 	www.test.com.

CNAME(Canonical Name):表示规范名的意思,其所代表的记录常称为别名记录。之所以如此称呼,就是因为为规范名起了一个别名。什么是规范名?可以简单认为是 FQDN。

name: FQDN 格式的别名
value: FQDN 格式的初始名

例如:
	web.test.com. 	IN 	CNAME 	www.test.com

MX(Mail Exchanger):邮件交换器 。

name:当前的域名
value:当前域内某邮件交换器的主机名

例如
	test.com.	IN 	MX	10	mx1.test.com.
	test.com.	IN 	MX	20	mx2.test.com.

注:MX记录可以有多个,但每一个记录的value之前应该有一个数字表示优先级 。优先级:0-99,数字越小优先级越高。

2. DNS安装配置

2.1 安装DNS

      Bind 是一款开放源码的 DNS 服务器软件,Bind由美国加州大学 Berkeley 分校开发和维护的,全名为 Berkeley Internet Name Domain 它是目前世界上使用最为广泛的 DNS。
实验环境:CentOS 7

~]# yum info bind
...
Installed Packages
Name        : bind
Arch        : x86_64
Epoch       : 32
Version     : 9.9.4
Release     : 61.el7_5.1
Size        : 4.3 M
Repo        : installed
From repo   : updates
Summary     : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
URL         : http://www.isc.org/products/BIND/
License     : ISC
Description : BIND (Berkeley Internet Name Domain) is an implementation of the DNS
            : (Domain Name System) protocols. BIND includes a DNS server (named),
            : which resolves host names to IP addresses; a resolver library
            : (routines for applications to use when interfacing with DNS); and
            : tools for verifying that the DNS server is operating properly.

~]# yum install -y bind      
...   

2.2 配置文件解析

配置文件列表:

主配置文件:/etc/named.conf
	主配置文件包含进来的其他文件:
		/etc/named.iscdlv.key
        	/etc/named.rfc1912.zones
        	/etc/named.root.key
    解析库文件
        /var/named/目录下:一般名字为:ZONE_NAME.zone

主配置文件:named.conf

options {         	----> 全局配置段
	...
};

logging {			----> 日志配置段
	...
};

zone "." IN {   	----> 区域配置段,可定义在主配置文件,也可定义在"/etc/named.rfc1912.zones"文件中
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

注:每个配置语句必须以分号结尾。

2.3 配置正向解析

这里以解析 chuan.com 域为例。
1.修改主配置文件:

~] vim /etc/named.conf
listen-on port 53 { 192.168.179.110; };    # DNS服务器地址

2.修改 named.rfc1912.zones 文件:

~]# vim /etc/named.rfc1912.zones
zone "chuan.com" IN {         	 ----> 域定义格式
        type master;			----> [hint|master|slave|forward] 根、主、从、转发
        file "chuan.com.zone";	 ----> 自定义解析域文件名称
};			
#添加到最后即可

3.创建"chuan.com.zone"文件:

~]# cd /var/named/
~]# vim chuan.com.zone
$TTL 1D
@       IN SOA  @ admin.qq.com. (
                                        20181105        ; serial
                                        1D              ; refresh
                                        1H              ; retry
                                        1W              ; expire
                                        3H )            ; minimum
        NS      ns1
ns1     A       192.168.179.110
www     A       192.168.179.115
        A       192.168.179.116
web     CNAME   www
bbs     A       192.168.179.115

~]# chown root:named chuan.com.zone
~]# chmod 640 chuan.com.zone

注:
(1) "$"符号:定义宏。最常见的是"$TTL"、"$ORIGIN"。
(2) FQDN自动补齐:在区域数据文件中,没有使用点号"."结尾的,在实际使用的时候都会自动补上域名,使其变为 FQDN。
	例如:上面文件中的 ns1,会自动补全为 ns1.chuan.com.
(3) 若上一条记录与下一条记录主机名相同,则下一条可以省略,默认为上一条的主机名。如上文件中 www下为空,默认为下一条主机名也为www。
(4) "@" 默认代表代表域名。

4.检查配置文件

~]# checkconf		#默认检查 named.conf 和 named.rfc1912.zones 文件
~]# named-checkzone chuan.com chuan.com.zone  
zone chuan.com/IN: loaded serial 20181105
OK

5.启动服务

~]# systemctl start named
~]# netstat -lnput
tcp        0      0 192.168.179.110:53      0.0.0.0:*               LISTEN      6365/named          
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      6365/named          
udp        0      0 192.168.179.110:53      0.0.0.0:*                           6365/named          

6.修改本机DNS服务器指向
      现在我们知道,一台主机访问另一台主机,需要通过FQDN 解析出对应的 IP,首先会先查找本地缓存以及 hosts文件,若没有就会向本机指向的 DNS 服务器发起递归请求。所有此处我们需要将本机指向的 DNS 服务器指向我们自己搭建的 DNS 服务器,否则将无法被解析。

~]# vim /etc/resolv.conf
nameserver 192.168.179.110

6.测试DNS解析
      常用的测试DNS解析的命令有 nslookup、host、dig。这儿以 dig 进行测试。若没有 dig 工具,可装上 bind-utils 包。
dig:

用法:
	dig [-t RR_TYPE] name [@SERVER] [query options]
正向解析:
	dig -t A name [@SERVER]
反向解析:
	dig -x IP
 ~]# dig -t A www.chuan.com @192.168.179.110
...
;; ANSWER SECTION:
www.chuan.com.          86400   IN      A       192.168.179.116
www.chuan.com.          86400   IN      A       192.168.179.115
...

2.4 配置反向解析

此配置与正向解析配置大体相同,仅给出差异配置。
1.修改named.rfc1912.zones 文件:

zone "179.168.192.in-addr.arpa" IN {
        type master;
        file "179.168.192.in-addr.arpa.zone";
};

2.创建"179.168.192.in-addr.arpa.zone"文件:

$TTL 1D
@       IN SOA  @ admin.dns.com (
                                        2018110601      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns1.chuan.com.
110     IN PTR  ns1.chuan.com.
115     IN PTR  www.chuan.com.
116     IN PTR  www.chuan.com.
115     IN PTR  bbs.chuan.com.

注:记得修改文件权限,然后重启服务即可。

2.5 配置主从DNS

      在只有一台dns服务器时,所有的dns解析过程都由这台dns服务器负责,压力极大。而且极不安全,因为这台dns服务器一垮掉,所有的解析服务都停止,整个网站也就垮了。
      无论是出于负载均衡考虑,还是数据安全可靠的考虑,至少都应该配置2台或2台以上的dns服务器,其中必须有一台是master服务器,其余的是slave服务器。
      master 和 slave 服务器都可以配置成向外提供解析服务。但 slave 上的区域数据从何而来?不是自行书写区域数据文件而来,而是从 master 服务器上复制而来。从 master 复制区域数据到 slave 的过程,DNS 术语称之为"区域传送"。

基于上面配置的192.168.179.110为主DNS,将192.168.179.113配置为从DNS。
master:192.168.179.110

~]# vim /etc/named.rfc1912.zones
zone "chuan.com" IN {
        type master;
        file "chuan.com.zone";
        allow-transfer { 192.168.179.113; };    #表示允许谁来同步数据,不设置默认任意主机都可以来同步
};

~]# vim /var/named/chuan.com.zone
...
        NS      ns1
        NS      ns2	
ns1     A       192.168.179.110
ns2     A       192.168.179.113
...

注:若不加上这条记录,主DNS服务器将不能解析到从服务器的地址。

slave:192.168.179.113

~]# vim /etc/named.conf
listen-on port 53 { 192.168.179.113; };

~]# vim /etc/named.rfc1912.zones
zone "chuan.com" IN {
        type slave;
        file "slaves/chuan.com.zone";    ----> 同步文件放置在slaves目录下
        masters { 192.168.179.110; };		----> 指定主服务器
};

~]# systemctl start named    ----> 每次启动时都会进行一次"区域传送",可在/var/named/slaves/ 下查看同步文件。

注:上面的示例中使用 file 指令,但实际上 slave 是可以不要区域数据文件的,它从master上传送复制区域数据后会将其缓存下来,并从缓存中提供查询解析服务。如果在slave区域内指定 file 指令,则表示在区域传送时还将备份一份数据到file指定的文件中,所以该文件对named组要求有写权限。在安装 bind 后,在/var/named目录下自动生成了一个 /var/named/slaves 目录,其属组和权限已经设置好,正适合放置区域传送的备份文件。如果自定义存放备份文件的路径,则其存放目录属组要求为 named,且属组有rwx权限。

2.6 子域授权

      在上面的 DNS 解析流程中,我们将 DNS 解析请求发送给本机指定的 DNS 服务器后,它将会一级一级的去查找域名进行解析,这里的每一级都是一个域,并且每个域都是上级域的子域,那为什么这个域能告诉我们的 DNS 服务器它的子域的 DNS 地址呢?这里就有一个新话题,叫做子域授权,也就是说本级域只负责解析该域名,对于下一级域名的解析我只告诉你它所对应的 DNS 服务器地址,具体的解析权交给下级来完成。
      如我们查找 www.baidu.com 的时候,根反馈说我只负责解析根域的主机,但我可以告诉你我的子域 com 的 DNS 服务器地址。然后我们又去找 .com 域进行解析,.com 域告诉我们它只负责 .com 的解析,但它可以告诉我们 baidu.com 域的 DNS 服务器地址等,从而找到 www.baidu.com 的地址。
如何配置子域:
(1) “chuan.com” 的区域数据文件中,需要添加子域 “ftp.chuan.com” 的 DNS 服务器的NS记录和A记录,如果该子域有多个 DNS 服务器,则需要添加多个NS记录和对应的A记录。
(2).子域 master dns 服务器上的区域数据文件中,需要书写SOA记录,NS记录和NS对应的A记录。

192.168.179.110: "chuan.com"域

~]# vim /var/named/chuan.com.zone
        NS      ns1
ftp     NS      ns2.ftp
ns1     A       192.168.179.110
ns2.ftp A       192.168.179.113

注:其余配置与正向解析配置相同。

192.168.179.113:"ftp.chuan.com"域

~]# vim /etc/named.rfc1912.zones
zone "ftp.chuan.com" IN {
        type master;
        file "ftp.chuan.com.zone";
};

]# vim /var/named/ftp.chuan.com.zone 
$TTL 1D
@       IN SOA  @ admin.dns.com. (
                                        2018110601      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns1
ns1     A       192.168.179.113
www     A       192.168.179.115
web     A       192.168.179.116

注:子域必须要有SOA记录,否则将不会有权限单独管理,解析也交由赋予处理。

注:以上配置注意文件权限,以及防火墙等对实验造成的影响。

2.7 DNS访问控制

      访问控制是指仅对定义的网络进行解析。访问控制是通过 acl 函数来实现的,acl 把一个或多个地址归并为一个集合,并通过一个统一的名称调用。需要注意的是:acl 只能先定义,后使用。因此,其一般在 named.conf 文件的 options 字段的前面定义。

acl 的格式:

acl	acl_name {
	ip;具体的ip地址
	net/prelen;表示一个网段
};

例如:
acl mynet {
	172.168.179.110
	172.168.179.0/24
};

allow-query     { localhost; };
allow-query     { mynet; };
...

bind 内置的 acl:

	none	:没有一个主机
	any		:任意主机
	localhost	:本地主机
	localnets:本机的IP同掩码 

总结:以上是我初学 DNS 的一些理解,希望能对大家有一点帮助,有错误也希望大家指出,谢谢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DNS & bind详解 的相关文章

  • 将非 www 版本的域名重定向到 Jetty 中的 www

    我无法将我的非 www 域版本重定向到 wwwMovedContextHandler 它没有要重定向到的主机 Both www example com and example com指向我的网络服务器IP 当有人试图打开时example c
  • 创建本地自定义主机名而不是 localhost?

    目前 我的 Flask 应用程序在本地运行 http localhost 5000 some page http localhost 5000 some page 如何为我的应用程序创建本地自定义位置 例如 http myappname s
  • Django 应用程序是否可以知道用户的 Windows 域名?

    我需要制作一个简单的知识库类型应用程序以在公司内部网络中使用 为了使最终用户使用起来简单快捷 我想部分跳过所有登录 因为它只对我们信任的内部网络用户可见 并自动从用户中提取域用户名并放入它进入数据库 不希望人们浪费时间手动输入他们的名字 他
  • 非常简单的DNS服务器

    我有一台 Linux 服务器 有一个临时无线网络供客户端连接 连接后 我希望用户始终被重定向到它自己的 Web 服务器 无论他们输入什么 URL 最大的解决方案是设置一个完整的 DNS 服务器 使用 BIND 或等效服务器 但这似乎有点过头
  • django 在我的机器上非常慢

    我全新安装了 django 1 0 并提供了一个简单的页面 需要 5 秒才能加载 在我同事的计算机上几乎不需要时间 我使用启动服务器 python manage py testserver 我可以看到每个 GET 请求 PNG 和样式表 大
  • 将多个子域映射到同一个 S3 存储桶

    有没有某种方法可以将多个 数千个 子域映射到一个 s3 存储桶 如果是这样 是否也可以将其映射到每个子域的存储桶中的特定路径 我希望 test1 example com 映射到 mybucket test1 test2 example co
  • Mono 的 DNS 刷新超时

    虽然目前Mono项目的ServicePointManager类有DnsRefreshTimeout属性启用到其接口中 相关属性未实现 调用示例 ServicePointManager DnsRefreshTimeout 10 60 1000
  • DHCP 服务器将任何 url 重定向到登陆页面

    我有一个 Linux DHCP 服务器 我需要将所有网络流量重定向到一个登陆页面 该页面将包含有关如何在网络上注册计算机的说明 无论用户输入什么 URL 都需要将用户重定向到网页 在 DHCP 服务器上 即 用户输入 google com
  • 如何让 Docker 容器访问主机上的 dnsmasq 本地 DNS 解析器?

    Docker 容器可能会通过多种方式对 DNS 设置感到困惑 只需在 SO 或更广泛的互联网上搜索 Docker DNS 即可了解我的意思 建议的常见解决方法之一是 将 dnsmasq 设置为主机系统上的本地 DNS 解析器 将其绑定到do
  • 是否可以为 IP 地址而不是域名提供 SSL 证书? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望我的网站使用类似的 URLhttp 192 0 2 2 and https 192 0 2 2 用于静态内容 以避免请求中不必要的
  • 如何为digitalocean设置子域?

    我需要通过在 URL 中输入 sendy ambee app 来访问我的 Digitalocean 服务器 如果我输入 IP 地址 157 230 9 219 它就可以工作 但只要我输入 sendy ambee app 它就不起作用 Whe
  • 查询 dns 别名

    我找到了一些code http msdn microsoft com en us library system net dns gethostbyaddress VS 71 aspx来自 msdn 站点 下面包含代码 看起来它将返回给定服务
  • IIS 如何识别请求的是哪个站点?

    如果我在一台服务器上托管多个站点 并且 dns 服务器将不同的域名解析到同一地址 这是服务器的名称 那么 IIS 如何知道最终请求的是哪个站点 因此 客户端输入我的 1 站点地址 gt myrandomsite mydomain com 然
  • AWS Cloudfront 作为具有自定义域的 Heroku 站点的 CDN

    最近 我从 AWS Route 53 brianpatrickhummel com 购买了一个域来托管个人投资组合 该投资组合网站已启动并正在运行 使用 S3 存储桶和 Cloudfront 作为 CDN 在作品集网站上 访问者可以预览我构
  • 使用 IIS 发布:找不到服务器 DNS

    我正在尝试使用 IIS 发布我的项目 我能够通过 Visual Studio 发布它 La aplicaci n web se public correctamente file D www plataformafantasy com Co
  • 包含带重音符号的域的主要缺点是什么?

    我正在考虑获取一个包含重音字符的域 它包含 然而 我注意到只有一些公司提供它们 这些域是否存在普遍问题 或者我在使用这些域时是否会遇到某些缺点 DNS 协议仅支持 ASCII 带有重音字符的域被编码为 ASCII 使用Punycode ht
  • Heroku:无法解析服务器的 DNS

    我买了一个myapp app带有 OVH 的域 我还购买了 Heroku hobby dyno 以便为我的 api 有一个安全的子域 https www server myapp app代替https www myapp heroku ap
  • 跨域错误

    什么是跨域错误 当 Javascript 大多数时候 尝试访问不应该访问的内容 例如 如果您尝试读取另一个域的 cookie 那将不起作用 如果您尝试向另一个域或协议 HTTP gt HTTPS 发出 XMLHTTP 请求 则该请求将不起作
  • Heroku 域名注册配置为雪松栈上的竹子

    我在 Cedar Stack 上运行时遇到 Heroku 的 DNS 配置问题 当我的自定义域具有正确的指向 CNAME 记录并正确配置为 Heroku 指令时 它一直认为我正在将 Cedar 堆栈路由到 Bamboo 事情是这样的 我最近
  • AWS EC2 反向 DNS (PTR) 失败

    到处寻找 找不到答案 我有域名 mydomain com root 和 www 记录指向我的主服务器 它运行我的网站 我现在使用单独的 AWS ec2 实例为我的域设置电子邮件服务器 这是在子域上运行的mail 我的 DNS 看起来像这样

随机推荐

  • Docker进阶 - 9. docker network 之自定义网络

    1 运行两个tomcat实例 并进入容器内部 docker run d p 8081 8080 name tomcat81 billygoo tomcat8 jdk8 docker exec it tomcat81 bash docker
  • docker基本命令记录

    Docker 是一个开源的容器技术 它允许开发人员将应用程序及其所有依赖项打包到一个容器中 然后轻松地在任何地方部署和运行 以下是 Docker 的一些基本操作 基础操作 启动 Docker service docker start 停止
  • visual studio 2019恢复默认设置

    系列文章目录 文章目录 系列文章目录 前言 一 解决方法 二 详细步骤 1 首先 打开microsoft visual studio 2017 选择 工具 2 在工具菜单中选择 Visual Studio 命令提示 3 这时会弹出一个命令提
  • 第四课:创建VxWorks系统镜像

    目录 2 2 2 创建VxWorks系统镜像 2 2 2 1 VxWorks概述 2 2 2 2 创建VxWorks6 9工程 zynq7000 2 2 2 3 创建VxWorks6 9工程 P2020
  • Leetcode(236,112) :有关树的一些操作(递归、动态、遍历,搜索)

    236 Lowest Common Ancestor of a Binary Tree 查找二叉树的两个节点的最小公共祖先 下面分为两种情况来考虑这个问题 第一种是BST 二叉搜索树 BST 利用二叉搜索树的性质 左子树和右子树的节点大小关
  • Unity鼠标样式发布后不正常

    环境 Unity5 4 2f2 Texture2D img Texture2D Resources Load Textures img Cursor SetCursor Texture2D img Vector2 zero CursorMo
  • git:git diff old mode 100644 new mode 100755含义及解决方式

    参考 git diff old mode 100644 new mode 100755含义及解决方式 解决办法 git config add core filemode false 忽略就完事了
  • Python中编写与引入自己的包、模块

    其他关于Python的总结文章请访问 https blog csdn net qq 38962621 category 10299380 html 编写与引入自己的包 模块 模块 module Python中的任何 py 文件都可以称为一个
  • Spring4.0+Hibernate4.2.整合出现java.lang.ClassNotFoundException: org.hibernate.engine.FilterDefinition

    1 异常 Exception in thread main org springframework beans factory BeanCreationException Error creating bean with name news
  • Air103

    目录 一 在线云编译 二 本地编译 Windows平台用户 如果是Air103 本机为 Air103 如果是Air105 本机为 Air105 定制固件里的库 编译 执行 生成过程及log文件解析 1 生成elf格式 2 按照设置文件设定的
  • python数据分析与可视化——第五章实训

    1 导入模块 import pandas as pd import numpy as np 2 获取数据 fdata pd read excel F 专业课程作业 python时空数据分析与可视化 tips mod xls fdata he
  • 安卓APP_ 布局(6) —— ConstrainLayout约束布局(重要)

    摘自 安卓APP 布局 6 ConstrainLayout约束布局 重要 作者 丶PURSUING 发布时间 2021 04 12 10 49 42 网址 https blog csdn net weixin 44742824 articl
  • B站粉丝数显示器代码解析学习

    代码来源B站 会飞的阿卡林https www bilibili com video BV14W41167tY 学习使用ESP8266的WIFI无线连接 在这里可以了解到SPI协议在Arduino中的使用 后来也使用ESP8266做了其他项目
  • 交换机与路由器技术-36-端口镜像

    目录 一 端口镜像 1 1 概述 1 2 目的 1 3 功能 1 4 端口镜像应用场景 1 4 1 本地端口镜像 SPAN 1 4 2 远程端口镜像 RSPAN 1 5 配置本地端口 1 6 配置远程端口镜像 RSPAN 一 端口镜像 1
  • Rabbitmq和kafka有什么区别?

    RabbitMQ和Kafka都是流行的消息队列系统 它们都可以用于构建分布式系统中的消息传递机制 虽然它们都可以用于相似的场景 但它们之间仍然存在一些重要的区别 一 数据处理方式不同 RabbitMQ是一个传统的AMQP消息队列 它使用队列
  • Java语言实现通讯录,联系人信息存在数据库里

    通讯录管理 问题描述 编写一个简单的通讯录管理程序 通讯录中需要存储姓名 地址 电话号码 邮政编码四项 还可以存储Email 家庭电话等信息 基本要求 程序应提供的基本管理功能有 1 添加 即增加一个人的记录到通信录中 2 显示 即在屏幕上
  • postman 将返回值设置为环境变量

    代码如下 var jsonData JSON parse responseBody pm globals set token jsonData data token
  • win2012 管理用户账号点滴

    1 c windows system32 config SAM 存储本地用户账号 2 cmd gt set 可以查看很多信息 包括logon server 3 创建一般服务账号的时候 要选择 密码永不过期 4 cmd gt net user
  • 【数据结构】线性表的顺序存储结构

    线性表 由n n 0 个数据元素 结点 a1 a2 an组成的有限序列 其中数据元素的个数n定义为表的长度 当n 0时称为空表 常常将非空的线性表 n gt 0 记作 a1 a2 an 这里的数据元素ai 1 i n 只是一个抽象的符号 其
  • DNS & bind详解

    文章目录 1 DNS基础知识 1 1 DNS的出现及演化 1 2 什么是DNS 1 3 域的分类 1 4 主机名 域名 FQDN 1 5 DNS解析流程 1 6 DNS分类 1 7 资源记录 2 DNS安装配置 2 1 安装DNS 2 2