介绍URL转发的常见问题。
概念
URL转发包含URL隐性转发和URL显性转发,主要是指将一个域名指向另外一个已经存在的站点时,可以通过URL转发实现。隐性URL转发使用的是iframe框架技术,显性URL转发采用的是301(也称之为永久性转移)或302重定向技术(也称之为暂时性转移)。
301和302说明
301 redirect: 301 代表永久性转移(Permanently Moved)。
302 redirect: 302 代表暂时性转移(Temporarily Moved)。
共同点:301和302状态码都表示重定向,当浏览器得到服务器返回的301或302状态码后会跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)。
区别:301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了),搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址;302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,搜索引擎会抓取新的内容而保存旧的网址。
使用规则
添加 URL 转发记录时,转发前的域名必须完成备案。
URL转发时记录值不能为IP地址。
URL转发不支持泛解析设置。
URL转发的目标域名不支持中文域名。
URL转发前域名支持HTTP,不支持HTTPS,转发后的目标地址支持HTTP、HTTPS。
URL转发属于特殊商品,云解析不提供攻击防护服务,如遇攻击黑洞时无法使用URL转发,请将需要转发的主机记录配置为A或CNAME记录。
原理说明
用户添加URL转发记录时,云解析DNS会自动为用户添加A记录,而A记录指向的地址则是云解析DNS提供的URL转发服务器地址,目的就是通过URL转发服务器来帮助用户实现转发功能。当访问者访问转发前域名时,实际上是向云解析DNS提供的URL转发服务器发起请求,如果是隐性URL转发,则是通过云解析DNS的应用来嵌套用户目标的URL,并返回带有iframe的页面给到访问者;如果是显性URL转发,则是通过301或302重定向跳转到转发后页面。
常见问题
添加URL转发记录后,dig域名返回的解析结果与控制台设置不一致
用户添加URL转发记录时,云解析DNS会自动为用户添加A记录,而A记录指向的地址则是云解析DNS提供的URL转发服务器地址,所以如果控制台添加的记录值是URL,而dig出来的是A记录且IP地址是(203.107.XX.XX),这是属于正常现象。
添加URL转发记录后,使用域名访问页面显示 HTTP ERROR 502 错误
如果在添加URL转发记录时,提示未备案,不允许添加的情况:请同时检查转发前的域名和转发后的域名是否完成备案,如果未完成则请联系您服务器厂商完成备案。
如果已添加过URL转发记录,出现502错误,则可能为备案失效导致,请联系您的备案接入商进行排查。
添加隐性URL转发记录后,使用域名访问页面显示为空白页
从浏览器(例如chrome)可以查看到如下报错提示,这是由于转发后站点header中设置了X-Frame-Options,主要是转发后站点不允许做嵌套,所以需要联系您的网站技术人员,在转发后站点中去掉X-Frame-Options的配置即可。
添加隐性URL转发记录后,页面可以正常打开,但是URL上显示了转发目标地址
请检查转发后的URL页面中的JS代码,如果有下图标记的设置,请去掉此段js代码。
添加URL转发记录后,操作页面刷新,直接跳转到了非目标地址的页面。
一般出现这种情况,多为目标页面(转发后的ULR站点)中可能有JS代码设置了跳转,需要您联系您的网站技术人员进行排查。
在云解析DNS中添加了URL转发记录,但是dig测试没有返回对应的A记录和记录值(203.107.XX.XX)请提交云解析DNS工单,由技术人员为您处理。
添加URL转发记录后,打开页面提示 ERR_EMPTY_RESPONSE 错误
一般出现于CC攻击场景,因为域名请求的QPS过大,所以URL转发服务器停止了该域名的转发服务,建议您使用其他方式实现转发服务。
添加URL转发记录后,打开的页面提示example.com已拒绝连接
现象:在console中不显示拦截的相关信息。
原因:是由于same-origin拦截。需要从网络中看链路上最后一次200请求返回的Header头部,里面可能会有same-origin的限制返回。
解决:此类问题一般为用户网站安全策略设置问题,建议用户检查配置,或者只使用显性URL转发配置。