精华内容
下载资源
问答
  • 2021-11-01 15:31:08

    在建设网站的过程中,经常会涉及到一些概念,域名和IP就是常见的两个名词,那么域名和ip地址有什么关系?二者有什么区别?

    要更解域名和IP地址的关系,首先要清楚用户是怎么访问网站的。用户在浏览器中输入网址后,浏览器会连接域名对应的DNS服务器,DNS服务器会对域名进行解析,寻找域名对应主机的IP,在寻找到相应的主机后,将信息返回给浏览器,浏览器会访问主机上的文件,最终将访问结果呈现给用户。

    其实在最初,域名并没有成为一个网站必需的元素,当时开始使用IP来区别互联网上的各个主机,而人们也主要通过IP地址来访问网站。但是IP地址是由一串数字构成,不方便记忆。随着互联网快速发展,网站数量急剧增加,于是域名才被发明出来,方便人们记忆各种各样不同的网站。

    在网络上,域名和IP地址都是唯一的,但是他们二者的对应关系却有所不同。一个域名只能对应一个IP地址,是一对一的关系,而一个IP却可以对应多个域名,是一对多的关系。如果你使用的是独立IP虚拟主机、vps或者云主机,并且只绑定了一个网站,那么使用IP地址和域名都能访问网站,如果使用的共享IP虚拟主机或者绑定了多个网站,则只能使用域名访问网站。

    更多相关内容
  • 后续流程不涉及)DNS多域名的解析随机性DNS 域名解析负载均衡缺点:可能方案方案、dns解析层面控制DNS解析结果1.1 通过内置DNS服务器控制IP解析(伪造DNS)1.2、让备机nginx的状态能够影响DNS服务器解析方案二...

    多活主备选择性DNS

    问题背景

    实现多活主备状态下,用户通过域名访问网站,避免用户访问到备站点;

    总结一下:

    • 同时存在多个nginx容器活跃,需要用户每次通过域名访问,都能访问到特定的nginx容器;
    • 主备站点角色可能随着主备状态互换,即原来是主站点的,可能后来是备站点;
    • DNS服务器为第三方提供,无法深度定制;
    • 备机需要能够通过ip单独访问;

    在这里插入图片描述

    知识背景

    DNS解析存在多级缓存(此处仅列举到DNS服务器层;后续流程不涉及)

    在这里插入图片描述

    DNS一对多域名的解析随机性

    当一个域名对应多个IP时,DNS解析具有随机性;常用此做服务器的负载均衡;

    在这里插入图片描述

    DNS 域名解析负载均衡缺点:

    • 目前的DNS是多级解析的,每一级DNS都可能缓存A记录,当某台服务器下线之后,即使修改了A记录,要使其生效也需要较长的时间,这段时间,DNS任然会将域名解析到已下线的服务器上,最终导致用户访问失败
    1. 不能够按服务器的处理能力来分配负载。DNS负载均衡采用的是简单的轮询算法,不能区分服务器之间的差异,不能反映服务器当前运行状态,所以其的负载均衡效果并不是太好。

    可能方案

    为了实现问题,总结下来,只可能有2种解决方案:

    • 在DNS解析层面,控制DNS解析结果
    • 在DNS解析到备机后,提供备机跳转解决方案

    方案一、dns解析层面控制DNS解析结果

    1.1 通过内置DNS服务器控制IP解析(伪造DNS)

    DNS服务器在实际使用场景中,均为客户提供的第三方DNS服务器,无法控制第三方DNS服务器解析的规则;且即使成功控制,由于存在浏览器缓存、本地缓存等多种不可控因素,不可避免还是会存在解析到备机IP,此方案不可行;

    1.2、让备机nginx的状态能够影响DNS服务器解析

    目前DNS服务器解析不会判断服务器状态。无法通过主备机的状态改变影响DNS服务器解析;
    再者。由于存在浏览器缓存、本地缓存等多种不可控因素。不可避免还是会存在解析到备机IP;此方案不可行

    2022.5.3更新DNS服务器确实没法获取各个主机的状态,但是,浏览器却可以根据握手情况选择最优的服务器。

    验证:新开一个域名对应2个IP地址(ip1,ip1),测试浏览器端访问结果。如果访问到ip1的服务器,则将ip1服务器nginx容器kill掉,亲测浏览器会解析到ip2;

    如下图:
    在这里插入图片描述
    由于客户端先前DNS解析到131,故kill掉131后,刷新浏览器,在与131服务器建链失败后(推测是收到了[RST ACK]头),尝试与80(正常服务器)进行通讯,建立client hello;

    故,不能通过nginx状态影响DNS服务器解析,但是可以通过nginx的状态影响浏览器DNS解析.

    然而,我们的需求是通过nginx状态影响主备机的解析,无法直接kill掉备机,因为主备机都需要对外提供服务;所以需要进一步研究如何精确的控制nginx返回状态,在不停掉服务的情况下,让浏览器选择我们想让他选择的主机;

    这种方案需要进一步验证;

    要采用这种方案,思路应该是这样。

    1、我需要找到一个控制点,在浏览器通过域名解析到达备机时的这个控制点的时候,能够让浏览器"知道"这个备机不可用,需要换一台服务器试试
    2、由于备机要求能够通过ip访问,故我需要做访问控制,即这个控制点必须要能够进行条件判断。比如当我通过域名解析的时候,拒绝服务。而我通过Ip访问的时候,通过服务。

    为了验证 1,方法是当浏览器解析到其中一台服务器时,尝试在该服务器nginx层 添加拒绝指令,以使浏览器觉得这个服务器不可用;我决定在nginx层进行相关控制,测试能否影响浏览器解析;

    1.2.1 验证在nginx 层控制浏览器选择

    指令通过如下方式实现;

    server {
    	...
    	location / {
    		deny all;	
    		return 503 ;
    	}	
    	location /pathcanpass {
    		return 200;
    	}	
    }	
    

    查看抓包发现,浏览器与服务器交互的端口是443;由于我们的nginx容器是经过封装的,在server层的控制,监听的端口是8443(443端口经过linux操作系统转发过来的,所以中间还有一层没法控制的操作系统层转发);

    server {
    	listen 8443:
    	deny all;	
    	return 503 ;
    }	
    
    控制层locationserver
    deny all ;return 503失败失败
    deny all ;return 500失败失败
    deny all ;return 403失败失败
    deny all ;return 404失败失败

    同时抓包分析,上述设置方式,无法使服务器发送[RST,ACK](连接重置)头:
    在这里插入图片描述
    只会给客户端发送[FIN,ACK]头(关闭连接)

    在这里插入图片描述

    补充发送RST 头的场景

    1.connect一个不存在的端口;
    2.向一个已经关掉的连接send数据;
    3.向一个已经崩溃的对端发送数据(连接之前已经被建立);
    4.close(sockfd)时,直接丢弃接收缓冲区未读取的数据,并给对方发一个RST。这个是由SO_LINGER选项来控制的;
    5.a重启,收到b的保活探针,a发rst,通知b。

    综上所述。在一对多域名解析情况下,浏览器进行轮询遍历,此时浏览器能够识别服务器最基本的端口状态,如果端口完全不存在,才会进行下一个IP的尝试,直到找到一个成功的ip并进行解析;

    1.2.2 验证在防火墙端口层控制浏览器选择

    这种方式是通过禁用443端口,来阻止一般用户用域名访问业务面服务,然后备机的其他维护型服务,由开发/运维通过指定端口访问。从而达到目的;应该有如下前提:

    • 前提一、443端口阻止可以让域名无法解析到
    • 前提二、维护服务端口转发需要带参数,让最终到达浏览器端时,脚本能够判断是来自于维护面访问,从而开放/屏蔽某些页面;

    1、为了验证第一个前提,我们使用iptables禁用方法(8443即443端口,linux转发):

    # 禁用443端口(需要进入iptables目录)
    ./iptables -w 5 -t filter -I FORWARD -p "tcp" -m multiport --dport "8443" -j REJECT
    # 解禁443端口
    ./iptables -w 5 -t filter -D FORWARD -p "tcp" -m multiport --dport "8443" -j REJECT
    

    通过这种方式,测试当我将当前浏览器解析的战队加上443端口屏蔽时,可以引导浏览器尝试解析下一个ip;但是中间存在2个问题:

    问题一、切换主备状态(端口禁用)浏览器解析特别慢。要持续近1分钟时间:

    在这里插入图片描述

    关于各个阶段的说明可以参考这篇文章:

    https://juejin.cn/post/6844903801577537544

    可以看到stalled阶段和 initail connection 阶段 耗时非常长;stalled阶段主要是TCP链接建立到真正可用的时间。我们猜想应该是发生了 tcp重传。

    我们抓包发现

    果然有大量重传;
    在这里插入图片描述
    initail connection 阶段是TCP3次握手时间。

    后来修改屏蔽指令,指定 如下指令可以解决问题:

    ./iptables -w 5 -t filter -I FORWARD -p "tcp" -m multiport --dport "8443" -j --reject-with tcp-reset
    
    问题二、切换主备状态(端口禁用)后,必须通过ctrl+f5刷新页面,否则存在部分资源用的是倒换前的缓存资源,如果2台服务器资源出现不一致,会导致页面出现不可预期的情况;

    在这里插入图片描述
    强制刷新页面可以解决;

    解决上述两个问题后,我们就可以考虑使用端口屏蔽来影响浏览器解析了;那么方案就是这样的:

    • 新增备站点访问端口,假设为8456;
    • 主站点屏蔽8456,开放443端口,备站点屏蔽443端口,打开8456端口;
    • 主备切换的时候,上述端口屏蔽规则互换;

    在这里插入图片描述

    方案二、在DNS解析到备机后,提供备机跳转解决方案

    2.1 、在访问到备站点后,前端使用脚本/在备机nginx层进行域名重定向

    访问到备站点的控制点,有3个;

    • 第一个是请求到达备机nginx层,
    • 第二个是备机页面脚本层(页面加载后)
    • 第三个是前端登录后检查;

    这三个检查点时间应该是越早,用户感知调整约少,对用户体验越好;

    2.1.1 nginx层控制

    请求到达nginx后,需要做跳转,前提需要知道主机IP。这里实现方案有2个:

    • 集成njs或者lua模块进行Http请求(需要接口免鉴权)
    • 倒换时手动刷新nginx配置 并进行reload
    2.1.2 备机页面脚本层控制

    当DNS解析到备机页面后,在页面能执行脚本的最早时机,通过免鉴权接口,获取主备状态进行跳转;

    2.1.3 前端登录后检查层控制

    当主备状态接口因安全原因无法免鉴权使用时,需要通过登录后脚本检查;此时需要做平滑重定向的方案有2个:

    • 弹出页面,提示用户点击后跳转
    • 登录的同时,获取主备状态,如果自己是备机,则重定向到主机ip,同时传递token,使用户无感知;前提:主备机token需要共享
    2.1.4 问题:

    不管上述哪种方式,都只能重定向到主机IP。无法重定向到域名。原因是域名重定向 还是会走DNS解析;如果解析到备机IP,会造成重定向死循环;如下图两种方案

    DNS 模块包含浏览器缓存DNS、操作系统DNS和DNS服务器,指DNS解析过程

    直接域名重定向

    如图红线走向正常,蓝线就会导致重定向死锁
    在这里插入图片描述

    先ip重定向到主站点,再重定向到域名

    如图红线走向正常,蓝线就会导致重定向死锁。
    redirectflag是为了区分跳转请求和非跳转请求,只有对于跳转请求,才会重定向到domain.com;否则不跳转;
    在这里插入图片描述

    ip重定向(方案可行,不会造成死锁)

    在这里插入图片描述

    所以,按照这种方案,会造成一个致命问题,用户访问的是域名,结果浏览器地址栏可能会显示ip地址;

    2.1.5 尝试解决ip地址反向转换域名

    背景:浏览器输入ip地址 不会有DNS解析流程。为什么反查不了域名?

    如果输入的是域名,先查找本地有没有缓存对应的地址和域名的映射,如果没有会将其发往DNS服务器查询对应的映射。也就是说getHostName可能会get到空值的情况,在这种情况下会自动向DNS服务器去反向查询域名,如果能查到就返回域名,查不到就直接把IP地址当成域名。由于安全问题(一开始我们用nslookup就可以看到返回的服务器并不是baidu,而是它的外壳),再加上网络过于复杂(IP相对域名来说太不稳定,域名经常好几年不变但是IP经常变化,导致了现在某个IP对应的域名过段时间或许就对到另一个域名上了;或者直接是域名不一样但是IP是一样的,这时候如果返回所有域名对安全性也没有保证),国内各大网站的服务器基本都不允许通过这种方式反向查询域名,所以基本上都查不到直接返回IP地址。但是有一个是绝对查得出来的,那就是本机上的IP地址(因为本机上IP的映射一定是保存在本机文件里面的,所以能找到)

    尝试1 nginx 采用不同的方式重定向,看看是否有方法不改变浏览器域名

    301-309状态码均尝试 不可使用;

    尝试2 前端使用html5 history.replaceState特性修改地址栏

    这种方法只能同域情况下修改url链接。但是无法跨域(ip切域名属于跨域)

    该条路无法实现;

    2.2 在nginx进行反向代理,代理所有备机请求到主机;

    这种方案的思路是,利用nginx的反向代理,代理所有备机请求到主机,让用户访问到备机后,备机作为代理机,访问主机。从而让用户感知不到任何差异。

    在这里插入图片描述

    SMC3.0由于逻辑复杂,可能无法实现;

    • 架构层面设计不合理:业务上,从只转发自身站点的请求,转变为需要转发到其他站点的请求;
    • 实现层面:如何区分本站请求和域名转发的ip请求;通过备站点添加访问规则做条件代理,但是内部交互如果使用备站点ip,会导致请求被强制转发到主站点,要做大量适配;

    2.3 新增nginx节点,DNS固定解析到改节点(1对1),再在该节点转发主备节点

    这种方案,在不考虑容灾的一般架构下可以实现(使用nginx自带的负载均衡即可);但是对于考虑容灾的场景,新增的nginx节点无法做容灾管理。故不讨论;

    在这里插入图片描述

    三、结论

    nginx反向代理在服务器架构简单的情况下,可以实现;不考虑容灾和架构破坏的情况下,nginx代理节点可以实现;如果对于备站点的访问方式没有强制要求,则可以通过443端口屏蔽,新开端口做为备站点访问方式,再在主备倒换的时候,进行端口屏蔽切换来实现;

    2022.6.3日:打个广告,苏州华为终端BG面向社会招聘人才,Java /C C++ / Python / Javascript 。有兴趣来苏州的同学们 可以加我V 15850277051 ,有问必答!

    展开全文
  • 多个域名都写上,精准匹配 server { listen 80; server_name laker.com laker1.com test.laker.com; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/laker.com;...

    多域名匹配

    • 精准匹配

    多个域名都写上,精准匹配

    server {
         listen       80;
         server_name  laker.com laker1.com test.laker.com;
         index index.php index.html index.htm default.php default.htm default.html;
         root /www/wwwroot/laker.com;
    }
    
    • 通配符在前 以通配符 * 开始
    server {
         listen       80;
         server_name  *.laker.com;
    }
    
    • 通配符在后 以通配符*结尾
    server {
         listen       80;
         server_name  laker.*;
    }
    
    • 正则匹配

    以正则表达式来匹配

    server {
         listen       80;
         server_name  ~^(?.+)\.laker\.com$;
    
    }
    

    不能只使用一个*来匹配所有域名

    server_name优先级如下

    1、精准匹配

    2、通配符在前

    3、通配符在后的

    4、正则匹配

    前面的匹配到就不会进行后面的规则,如果都不匹配则

    1、优先选择listen配置项后有default或default_server的

    2、找到匹配listen端口的第一个server块

    server {
         listen 80 default;
         listen 443 ssl http2 default_server;
         server_name  laker.com; 
    }
    

    一个域名配置多个端口

    域名请求如下:

    • http://laker.com
    • http://laker.com:8080

    有以下两种方式

    • 配置多个server(建议
    server {
         listen       80;
         server_name  laker.com;
         index index.php index.html index.htm default.php default.htm default.html;
         root /www/wwwroot/laker.com;
    }
    server {
         listen       8080;
         server_name  laker.com;
         index index.php index.html index.htm default.php default.htm default.html;
         root /www/wwwroot/laker.com-8080;
    }
    
    • 一个server里写多个listen port
    server {
         listen       80;
         listen       8080;
         server_name  laker.com;
         index index.php index.html index.htm default.php default.htm default.html;
         root /www/wwwroot/laker.com;
    }
    
    展开全文
  • 一个域名是否可以对应多个IP?

    千次阅读 2019-10-30 10:42:21
    ​ 首先我们要先了解什么叫域名?域名(Domain Name),是由串用点分隔的名字组成的Internet上某台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也...如果一个域名可以对应多个IP,那么实际...


    首先我们要先了解什么叫域名?域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名使一个IP地址有"面具" 。一个域名的目的是成为便于记忆和沟通的一组服务器的地址(网站,电子邮件,FIP等)。
    在这里插入图片描述

    如果一个域名可以对应多个IP,那么实际访问这个域名又会访问到哪个IP?

    理论上,一个域名是可以对应多个IP的,而在用户访问过程中,指向某一个具体IP,并不会同时访问多个IP。但不同用户在不同地点访问同一个域名,可能会访问到不同的IP地址,但表象仍旧是这个域名。

    服务器将根据各地的访问IP,到达域名IP中路由跳数最小的那个IP地址作为访问的域名IP地址。这样能保证一个域名被访问时,能最大限度提供高速稳定的访问体验。同时,由于有多个备选IP,当其中一个出现问题时,可以实现故障自动切换,提高业务可用性,并提高资源利用率。

    反过来,一个IP地址可以解析绑定多个域名,没有限制。但是宵云网络建议各位站长不要将同质化严重的网站绑定在同一个IP下,这样容易被搜索引擎判定作弊。

    展开全文
  • 域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。 IP地址是网络上标识站点的数字地址...DNS(Domain Name System)是因特网的一项服务,它作为域名和IP地址相互映射的一个分...
  • 一、修改hosts文件 在C:\Windows\System32\drivers\etc路径下,如果出现...给当前用户赋编辑权限 三、用文本编辑器打开hosts文件,添加域名 win+r进入运行窗口,ping eureka7001.com 此时就完成了一个ip指向了多个域名
  • 使用nginx 代理服务器,只有一个域名,但想支持不同的网站应用,即实现 https://www.jingfatech.cn/A —— http://127.0.0.1:18800 https://www.jingfatech.cn/B —— http://127.0.0.1:18801 这种通过不同的url...
  • 但是在域名服务商那里,你可以把服务器群里面的多个提供相同服务的服务器IP设置一个域名可以轮询。但是同一时刻,一个域名只能解析出一个IP供你使用。这些IP可以轮流着被解析。 这些IP其实对应的服务器提供的是同一...
  • 如何实现同一个IP绑定多个域名

    千次阅读 2019-07-30 14:52:27
    我们可以利用Apache实现:同一个IP绑定多个域名。假设你云服务器IP地址为 :12.34.56.78;假设你需要使用的多个域名为 :www.example.com;www.test.com;www.test.cn;about.test.cn。那在将四个域名同时指向12.34....
  • 最近公司弄了2个云服务器服务商,使用时,碰到常见的同一个域名多次备案的问题,下面分享给大家。 下面就用阿里云和百度云举例说明: 阿里云和百度云都需要备案。最新备案的服务器提供商中才能访问主域名。 例如...
  • 众所周知,小程序的合法域名一个月只有5次的修改权限 但是!不要以为一次只能配置一个,你一次可以配个很多很多个的!
  • nginx配置多个域名使用同一个端口

    千次阅读 2020-12-01 10:58:31
    随着服务器性能的提升和业务的需求,台服务器上往往会同时有多个服务,这些服务都希望监听80端口,比如a.com和b.com。这时候我们可以使用nginx的代理转发功能帮我们实现共用80端口的需求。 先在两个空闲的端口...
  • 想在一个IP的服务器上部署多个使用同端口的不同域名站点,因为是web项目,常用端口为80端口。情况如下。 一个安装了tomcat的服务器主机(如IP为120.99.99.99 公网IP)  如个域名 www.a.com www.b.com 站点...
  • 用Apache配置多个域名的方法(绝对成功!) apache安装完默认是不开启虚拟服务器的,如果希望在本地apache上面配置虚拟服务器,类似于在网上买的虚拟主机,可以按照以下步骤进行配置: 1,修改本机的hosts文件,如下 ...
  • 一个域名下部署多个 uniapp vue项目

    千次阅读 2022-03-25 09:35:26
    1、更改子项目H5环境配置 2、nginx配置 这样就可以一个域名访问多个项目了。
  • ``` ...server { listen 80;...### 如上,我想要配置nginx的ssl证书,8080是我的项目,8081是tomcat图片服务器,现在8080已经ssl证书了,但是8081没有,运这样配置nginx运行不起来,求解~什么办法~
  • 我前两天就遇到这样一个问题,我们公司项目Tomcat绑的是80端口(虽然绑了域名,但是还是用的IP),而且项目已经布置,公司为了保障稳定绝对不会让我修改它的端口。但是官网又要上线,之前是万网服务器,纯的静态页面...
  • DNS(Domain Name System)是因特网的一项服务,它作为域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。 2.DNS作用: (1)解析域名 人们在通过浏览器访问网站时只需要记住网站的..
  • 多个域名对应一个服务器,为了避免域名后增加端口号,两个域名都需要占用80端口号,使用nginx来进行配置。 2. 解决方案 目前项目中,线上正在使用(100%可用)多域名对应一个服务器情况(线上ip及域名替换了下) #...
  • linux单个IP地址绑定多个域名详解

    千次阅读 2022-04-20 11:18:38
    linux单个IP地址绑定多个域名详解
  • 我们在开发单应用系统时,时候需要一个项目提供多个接口;每个接口的域名地址又可能不相同;所以我们可以利用nginx转发之后;在tomcat上加以配置即可实现多个域名访问指向同一个项目地址。...
  • Nginx同一个域名配置多个项目

    千次阅读 2019-08-29 11:36:47
    使用Nginx要在同一个域名下配置多个项目两种方式: nginx按不同的目录分发给不同的项目 启用二级域名,不同的项目分配不同的二级域名 1.nginx按不同的目录分发给不同的项目: server { listen 80; server_name...
  • 对于许多从事SEO优化工作的朋友们来说,在实际的优化推广工作中,可能都会存在这样一个问题,那就是需要将多个域名指向同一个网站的情况。在许多情况下,可能是为了品牌保护或者网站发展因素,不得已要把多个域名都...
  • iis配置多个网站,iis绑定多个域名

    千次阅读 2019-01-05 15:20:08
    iis配置多个网站,iis绑定多个域名 参考:iis配置多个网站,iis绑定多个域名_百度经验 https://jingyan.baidu.com/article/e3c78d647868813c4c85f53f.html
  • linux的/etc/hosts 文件中的主机ip可以对应多个域名吗 会不会冲突 搭建的CDH好像因为 而问题
  • 宝塔面板一个网站绑定两个以上的域名配置SSL 1、比如a.com b.com c.com 同时绑定一个网站 2、申请证书,获取pem、key 3、开启a.com 的ssl 4、点击左侧配置文件 <VirtualHost *:80> ServerAdmin ...
  • Springboot解决前后端分离项目跨域,配置多个域名

    万次阅读 多人点赞 2019-05-22 16:44:51
    项目前后端分离以后需要配置跨域,且需要允许浏览器多个域名跨域。我们知道Access-Control-Allow-Origin里面是只可以写一个域名的,但是我们可以通过配置一个可被允许的origins数组,然后判断前端请求中的origin是否...
  • 如果对于每个域名请求我们都要等待域名服务器解析后返回IP信息,这样访问网络的效率就会降低,而Hosts文件就能提高解析效率。   根据Windows系统规定,在进行DNS请求以前,Windows系统会先检查自己的Hosts文件中...
  • nginx一个server_name配置多个二级域名

    千次阅读 2020-06-12 19:09:05
    需求:台服务器部署多个项目(前端),项目对应不同的二级域名,比如img.luwuer.com,luwuer.com,blog.luwuer.com 转载自 :https://www.jianshu.com/p/58b890a1c8fb 二级域名结构 ### 3个项目的目录结构 /root/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 592,114
精华内容 236,845
热门标签
关键字:

一个网站可以有多个域名吗

友情链接: fenye.zip