不知道是否因为中美贸易争端升级的原因, 最近咨询 IPv6 解决方案的用户突然间就多了起来.
因为这些客户的需求高度的一致:
均为传统行业和政府客户.
网站要在年底前要提供 IPv6 客户端的访问支持.
不能影响现有 IPv4 客户端的访问.
IPv4 和 IPv6 客户端用同一个域名访问网站, 且显示的内容要保持一致.
对 IPv6 用户的访问要进行记录跟踪.
要能够感知 IPv6 客户端的访问体验.
针对这些需求, 明智的客户都会选择利用云服务来解决问题, 这才导致了最近的咨询量暴增. 通过和这些客户的交流, 我总结出两个解决方案, 供有类似需求的客户参考选择.
兼容非阿里云服务器的方案
无论您的服务器在不在阿里云上都可以选择这个解决方案, 这个解决方案可以支持线下 IDC, 或者其他云平台上的的服务器, 当然如果服务器就在阿里云上自然是支持的更好的.
解决方案由如下产品构成:
阿里云解析 DNS, 支持 IPv4 和 IPv6 的地址使用同一个域名.
阿里云 IPv6 转换服务, 在保留原有网站 IPv4 地址的同时, 为网站增加一个 IPv6 地址, 实现同时访问.
阿里云 web 应用防火墙企业版, 在提高网站安全性的同时为网站提供 IPv6 用户的访问记录功能, 为什么必须是企业版, 因为阿里云只有企业版以上的 Web 应用防火墙才支持 IPv6, 当然土豪还可以选择旗舰版.
阿里云 ARMS 前端监控, 提供对 IPv6 用户的体验感知和记录功能, 当出现网站无法打开, 加载缓慢等情况时, ARMS 前端监控可以感知并报警, 事后还能提供分析和回溯.
因为使用了 Web 应用防火墙企业版, 所这个解决方案除了贵之外, 没有其他缺点, 但假如您的网站本来就缺一个 Web 应用防火墙的话, 就另当别论了.
只支持阿里云服务器的方案
如果您不需要 Web 应用防火墙的话, 还可以选择更便宜的解决方案, 但前提是您的服务器在阿里云的如下地域范围内:
华北 2, 北京
华东 1, 杭州
华东 2 , 上海
华南 1, 深圳
阿里云上服务器的 IPv6 解决方案涉及如下产品:
阿里云解析 DNS, 支持 IPv4 和 IPv6 的地址使用同一个域名.
SLB IPv6 实例, 通过 SLB 的 IPv6 实例可以为同地域的 IPv4 服务器提供额外的 IPv6 地址和访问入口, 目前阿里云上的 SLB IPv6 实例仅在部分地域的部分可用区提供, 且 SLB 实例必须为性能保证型, 不过放心, 性能保障型中的的简约 I 型实例不收取额外实例费用, 而且性能对于一般的机构网站完全够用. 为了能够跟踪 IPv6 客户端的地址, SLB 必须使用 http/https 应用层负载均衡, 这样客户端的地址就能够嵌入 HTTP 头, 在服务器上再通过适当的配置就能将客户端的地址解析出来.
阿里云 ARMS 前端监控, 提供对 IPv6 用户的体验感知和记录功能, 当出现网站无法打开, 加载缓慢等情况时, ARMS 前端监控可以感知并报警, 事后还能提供分析和回溯.
这个解决方案的成本比前一个解决方案差了十倍不止, 呃...... 不对, 好像是将近百倍了, 这或许从另一个方面体现出阿里云的价值吧.
以下是一些操作的过程和截图, 仅供参考:
阿里云 DNS 服务支持同一个域名分别解析成 IPv6 和 IPv4 地址:
SLB 的 IPv6 实例:
该 IPv6 实例的 IPv6 地址为: 2400:3200:1500::30
从服务器日志上可以看到客户端的 IPv6 地址:
每一行前面的是 SLB 的内网 IPv4 地址, 因为 SLB 是一个集群, 所以该地址总在变化, SLB IPv6 实例通过这个地址来访问同地域的 IPv4 服务器, 最后一列是真实的 IPv6 客户端地址, 该地址通过 X-Forwarded-For 字段记录在 HTTP 头中.
100.121.135.28 - - [25/May/2019:15:21:31 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (Khtml, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1""2409:8915:2402:7944:8572:72db:45ae:8444"100.121.134.245 - - [25/May/2019:15:21:45 +0800]"GET / HTTP/1.1"200 3488"-""Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1""2409:8915:2402:7944:8572:72db:45ae:8444"100.121.134.254 - - [25/May/2019:15:21:46 +0800]"GET / HTTP/1.1"200 3488"-""Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1""2409:8915:2402:7944:8572:72db:45ae:8444"100.121.134.246 - - [25/May/2019:15:21:48 +0800]"GET / HTTP/1.1"200 3488"-""Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1""2409:8915:2402:7944:8572:72db:45ae:8444"100.121.134.249 - - [25/May/2019:15:21:48 +0800]"GET / HTTP/1.1"200 3488"-""Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1""2409:8915:2402:7944:8572:72db:45ae:8444"100.121.134.246 - - [25/May/2019:15:21:49 +0800]"GET / HTTP/1.1"200 3488"-""Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1""2409:8915:2402:7944:8572:72db:45ae:8444"
来源: https://yq.aliyun.com/articles/703641