1
mrjoel 2016-07-01 23:44:09 +08:00
DNS 跳转? url 转发 还是 CNAME
|
2
Zohar 2016-07-01 23:44:58 +08:00 via Android 1
301 是一种 HTTP 状态码,和 DNS 没关系。
|
3
mornlight 2016-07-01 23:48:23 +08:00 1
DNS 协议里本身没有 301 跳转,你见到某些 DNS 提供商可以设置也是解析到他们的服务器,再 301
|
4
metowolf 2016-07-01 23:48:37 +08:00 1
标准 DNS 没有跳转的,大多数都是通过解析到 DNS 提供商的专用服务器后进行跳转
|
10
mrjoel 2016-07-02 00:37:48 +08:00 1
关于裸域 @到 www ,写详细点吧:
1 、 url 跳转把 xxx.com 解析到 www.xxx.com ,由 @跳转到 www 的负担交给 DNS 服务商的服务器,当然跳转的速度也取决于 DNS 服务商的服务器。比如现在 DNSPOD 的 url 跳转服务器就很慢。 这样跳转问题是只对首页(或某一固定链接)有效,如果用户直接输入了 xxx.com/aaa 这样的裸域 url 来访问随机二级目录就会失败,所以你仍然需要把裸域 @解析到自己的服务器。(治标不治本,貌似现在部分浏览器对 xxx.com/aaa 找不到的情况 会自动补全到 www.xxx.com/aaa ) 2 、 301 、 302 跳转,即在你自己的服务器软件(比如 nignx )上设置,这样的好处是,不管用户访问裸域 @还是 www ,都可以正常做出回应。当然负担也在你自己服务器上,这个负担应该不大。(所以能采用这个方法还是这个方法吧,虚拟机那也只能 url 了) |
11
lHUAC OP @mrjoel cloudxns 301 跳转可以把请求目录带上比如 x.com/test 跳转到 www.x.com/test ,但是这个请求也是打到 DNS 那边服务器上面去,如果 DNS 转发服务器慢,这就会慢了下来,所以,你的建议还是使用自己的服务器来跳转么?
|
12
mytsing520 2016-07-02 02:38:07 +08:00 1
|
13
ZE3kr 2016-07-02 07:29:51 +08:00 via iPhone 1
用 DNS 跳转和常规的 A 解析跳转原理一样,不会更快。
试试 CloudFlare 的 Page Rules 吧, CloudFlare 支持免费的 HTTPS 。 |
14
notgod 2016-07-02 09:00:43 +08:00 2
按理来说,应该 是 DNS 做跳转要比服务器高效吧?
例如: 使用 DNS 跳转(从 x.com 跳转到 www.x.com ) 1 )客户端》 DNS 》 301 》 DNS 》目标 使用 服务器 跳转(从 x.com 跳转到 www.x.com ) 2 )客户端》 DNS 》服务器》 301 》 DNS 》目标 1 和 2 其实是一样 不同的地方 1 是使用 DNS 解析服务商的服务器 2 是使用你自己的服务器 按你的要求 xxx.com 转到 www.xxx.com Apache 使用.htaccess (支持 HTTP 和 HTTPS ) RewriteEngine On RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ - [env=protocol:https] RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ - [env=protocol:http] RewriteCond %{HTTP_HOST} ^xxx.com [NC] RewriteRule ^(.*)$ http://www.xxx.com/$1 [L,R=301] RewriteCond %{HTTP_HOST} ^xxx.com$ [NC] RewriteRule ^(.*)$ %{ENV:protocol}://www.xxx.com/$1 [L,R=301] 改为你的域名 上传到网站根目录 .htaccess 即可 如果 Win 系统 不支持.htaccess 这种文件名文件 可以保存为 htaccess.txt FTP 上传后修改即可 nginx 可以这样做 单域名 server { server_name xxx.com; return 301 $scheme://www.xxx.com$request_uri; } 正则匹配到不带 www 的 强制转向所有域名 server { server_name "~^(?!www\.).*" ; return 301 $scheme://www.$host$request_uri; } DNS 的标准解析协议 并没 301/302 redirect 这种解析标准 DNS 服务商提供给你的转向服务 是在 你的 DNS 记录 加一条 A 记录 @ A 1.1.1.1 只是这个记录你看不到 这个 1.1.1.1 就是 DNS 服务商的服务器 IP 你域名解析过去了 他在服务器处理 抓取你设置的转向地址 301 转向 server { server_name 你的域名; return 301 转向地址$request_uri; } 302 转向 server { server_name 你的域名; return 302 转向地址$request_uri; } 可以添加 log 或者 track 做请求的统计分析 知道转发请求了多少什么的 |
15
dndx 2016-07-02 10:48:57 +08:00 via iPhone 1
301 跳转跟 DNS 协议一点关系也没有。只是 DNS 服务商提供的一种服务。
|
16
CinderellaCiCi 2016-07-04 12:28:12 +08:00 via Android
为什么都在谈论 dns 的转发实现原理?看标题,楼主是想要推荐的 dns 呀…
CloudXNS 的 301 转发是由国内的机器提供服务,因此相对会比较稳定,不过要求备案。 另外,对于 @mrjoel 提到的 x.com/aaa 这样的 URL 跳转到 www ,在 CloudXNS 中是支持的,只需要将记录值填写为 http://www.x.com/$uri 即可。 楼主如果已备案可以考虑 CloudXNS~ |
17
lHUAC OP @CinderellaCiCi 哈哈你这是强行推广呀:)我去年就开始一直都是在用 CloudXNS 了,对了,量子加速什么时候能出来呀?流量几毛钱 1G ? HTTP/2 , SPDY/3 必须要支持吧? ALPN 呢
|
18
CinderellaCiCi 2016-07-05 10:52:26 +08:00
@lHUAC 量子加速快了,价格暂不公开,以后可能会推出流量包。 HTTP/2 那些东西暂时还没支持。
|