阿里云下,在不动生成环境的情况下搭建IPv6站点

目前阿里云所有产品都不支持IPv6 网络,最近苹果审核的更新导致大部分app都无法通过审核。通过收集各位大神的解决方案以及结合公司自身的情况做了一个IPv6的nginx 并反向代理到IPv4的网站,最终成功,简单纪录下操作步骤

1、生成环境不做任何改动;

  我们的生成环境使用nginx 作为反向代理,后端挂了大量的应用,如果要动这个牵扯有点大,所以不做任何改动。

2、新增一台服务器(阿里云申请一台1h1g低配主机,并加上公网IP),将这台主机按网上的方案配置成IPv6 ,并安装好nginx ,也要打上IPv6支持 安装配置过程我就不详细描述了。网上教程一大堆,以下是摘自其他大神的操作,在此感谢

  开启IPV6:

  vim /etc/sysctl.conf

  

  vim /etc/modprobe.d/disable_ipv6.conf

  

  vim /etc/sysconfig/network

  

  至此ipv6的服务器端支持已经完成,重启服务器测试是否支持ipv6,重启后, ifconfig查看ipv6的信息,有看到有关IPV6的输出就可以

  

  nginx编译安装 参考 http://www.cnblogs.com/markzm/articles/6780776.html

3、添加ipv6隧道:

  a. 注册Tunnel broker

  https://www.tunnelbroker.net/
  注册很容易,就不讲了,注册需要邮箱验证,,gmail、163能收得到认证邮件,qq还是一样收不到

  b.创建通道“Create Regular Tunnel”

  填写云服务器ip以及选择默认的隧道节点,点击Create Tunnel创建。填写ip都,如果出现“IP is a potential tunnel endpoint.”则证明可以添加ipv6隧道,一般隧道节点系统已经默认分配,可以手动选择,大家可以在自己的云服务器上分别ping一下这些ip,选时延低的。

  

  

  c.创建ipv6隧道及路由

    到下一页面切换到Example configurations选项卡,如果你的VPS是centOS/Debian这些常见Linux的话,下拉菜单选择Linux-net-tools,出现了设置的命令,复制到自己的云服务器上运行。

ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::88.88.88.88
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:47:8:45::2/64
route -A inet6 add ::/0 dev sit1

服务端通过ifconfig看到sit0 和sit1 都起来,说明配置成功

sit0      Link encap:IPv6-in-IPv4
          inet6 addr: ::8.8.8.8/96 Scope:Compat
          inet6 addr: ::10.28.196.233/96 Scope:Compat
          inet6 addr: ::127.0.0.1/96 Scope:Unknown
          UP RUNNING NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

sit1      Link encap:IPv6-in-IPv4
          inet6 addr: fe80::2f5a:4ed5/64 Scope:Link
          inet6 addr: 2001:47:8:45::2/64 Scope:Global
          inet6 addr: fe80::a1c:c4e9/64 Scope:Link
          UP POINTOPOINT RUNNING NOARP  MTU:1480  Metric:1
          RX packets:893582 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1052872 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:228511120 (217.9 MiB)  TX bytes:455369624 (434.2 MiB)

测试IPv6

ping6 -c 5 ipv6.google.com
PING ipv6.google.com(hkg12s13-in-x0e.1e100.net) 56 data bytes
64 bytes from hkg12s13-in-x0e.1e100.net: icmp_seq=1 ttl=58 time=3.16 ms
64 bytes from hkg12s13-in-x0e.1e100.net: icmp_seq=2 ttl=58 time=3.35 ms
64 bytes from hkg12s13-in-x0e.1e100.net: icmp_seq=3 ttl=58 time=3.12 ms
64 bytes from hkg12s13-in-x0e.1e100.net: icmp_seq=4 ttl=58 time=3.29 ms
64 bytes from hkg12s13-in-x0e.1e100.net: icmp_seq=5 ttl=58 time=3.32 ms

--- ipv6.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 3.124/3.252/3.356/0.097 ms

curl -v -6 ipv6.google.com
* About to connect() to ipv6.google.com port 80 (#0)
* Trying 2404:6800:4005:808::200e... connected
* Connected to ipv6.google.com (2404:6800:4005:808::200e) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: ipv6.google.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 28 Apr 2017 03:33:58 GMT
< Expires: -1
< Cache-Control: private, max-age=0

4、设置域名AAAA

  通过域名服务商添加一条AAAA纪录,指向  2001:47:8:45::2 这个IP就是隧道生成的,sit1网卡的IP

5、Nginx服务配置

server {
        listen       [::]:443 ssl;
        server_name  _;
        ssl                  on;
        ssl_certificate      conf.d/*****.com.cn/1.pem;
        ssl_certificate_key  conf.d/*****.com.cn/server.key;
        ssl_session_timeout  5m;
        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM;
        ssl_prefer_server_ciphers   on;
        location / {
                proxy_pass https://www.*****.com.cn;
                proxy_set_header  Host     $host;
                #proxy_set_header Host $http_host;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
}

至此,所有配置完成。测试  

时间: 2024-08-10 15:20:42

阿里云下,在不动生成环境的情况下搭建IPv6站点的相关文章

阿里云Linux一键安装web环境使用教程

以前是万网虚拟主机空间越发的不够了,想换服务器由于备案在万网为了方便只好选择了阿里云空间. 配置环境阿里云Linux一键安装web环境是一个方便广大网站建设者的环境配置,省去了使用面板不安全占用系统内存的诸多问题,方便的建设PHP环境省去了,人工配置的繁琐节省时间. 如果是新手建议安装面板解决问题,毕竟这个环境还是需要手动配置的,如果你安装之后不懂可以在阿里云后台申请阿里云的工程师帮您解决问题. 如果是1G内存以上的ECS可以使用WDCP这个使用的比较多久是版本不怎么更新安全性还是可以的.小于1

品尝阿里云容器服务:初步尝试ASP.NET Core Web API站点的Docker自动化部署

部署场景是这样的,我们基于 ASP.NET Core 2.0 Preview 1 开发了一个用于管理缓存的 Web API ,想通过阿里云容器服务基于 Docker 部署为内网服务. 在这篇博文中分享一下经过实践验证的操作步骤: 一.创建与配置集群 1)首先创建一个 Swarm Mode 的集群(注意创建时不要选择“自动创建负载均衡”,因为我们部署的是内网服务,自动创建的是公网负载均衡,需要手动创建内网负载均衡并绑定到集群): 2)集群创建成功后,会在集群列表中显示下面的信息: 3)接着创建一个

一次http请求,谁会先断开TCP连接?什么情况下客户端先断,什么情况下服务端先断?

我们有2台内部http服务(nginx): 201:这台服务器部署的服务是account.api.91160.com,这个服务是供前端页面调用: 202:这台服务器部署的服务是hdbs.api.91160.com,    这个服务是供前端页面调用: 近期发现,这2台服务器的网络连接中,TIME_WAIT 数量差别很大,201的TIME_WAIT大概20000+,202的TIME_WAIT大概1000 ,差距20倍:2台的请求量差不多,都是以上内部调用的连接,且服务模式也没有什么差异,为什么连接数

什么情况下使用break关键字? 什么情况下使用Continue关键字? Java如何声明一个数组?JS如何声明一个数组?如何获取数组长度? 如何遍历数组?

什么情况下使用break关键字?什么情况下使用Continue关键字? Break Break关键用于终止循环. 示例: 1 2 3 4 5 6 for (int i = 0; i < 10; i++) {   if (i == 4) {     break; //终止循环,后面的循环不再执行   }   System.out.println(i); } Continue Continue关键字用于终止本次循环,其它循环继续. 示例: 1 2 3 4 5 6 7 for (int i = 0;

阿里云上配置Laravel上线环境(详细)

本地laravel项目部署上线 操作环境 服务器:阿里云ECS公用镜像 ubuntu14.04 本地:win10 准备 首先用ssh连接到服务器,我用的是Git Bash,阿里云在初始化服务器时可以选择密钥,配置好后启动服务器,在win10下打开Git Bash,命令ssh [email protected]你的公网ip 配置环境前下好language-pack-en-base这个包,解决不同语言之间可能发生的冲突,-y参数的意思是直接安装无需确认. sudo apt-get update su

使用阿里云的k8s部署访问环境

阿里云推出的kubernetes版本是1.97的,docker的版本是17.06.2-ce-3,用的都是比较新的,相比自己搭建集群,使用阿里这个还是比较省事的,不需要自己研究怎么写yaml文件,只需要把自己需要的配置选上就行.废话不多说,接下来开始准备工作.一.准备工作把安全组开放,相当于操作系统中的防火墙.然后把阿里RDS数据库的白名单(相当于数据库允许服务器访问)设置好,需要把集群中每个服务器的内网IP添加上就好设置完这个后切换到服务器,登陆master服务器1. 在master上搭建私有仓

[基础常识]阿里云ecs从购买到环境搭建和建站!!(phpstudy一件包)

首先如何购买ECS?发现有些人购买5G硬盘,我个人认为买硬盘应该购买20以上!这样以后好处理!   进入http://www.aliyun.com/product/ecs/?spm=5176.7189909.201.2.CVdddr    点击后面后选择配置,你也可以选择镜像市场!     付款后就可以开通了!!进入控制台:    点击进入管理面板:         如果你要更换系统,要选停止服务器,再进行更换!!    [ 此帖被梦丫头在2014-07-31 19:21重新编辑 ]   阿里云

Linux系统下LNMP一键搭建Linux、PHP、MySQL环境(适合新手搭建linux下的web生成环境)

一. 首先要解释一下,什么是LNMP,LNMP起源于LAMP,LAMP是Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的缩写,这里将Web服务端的Apache替换成了资源消耗更少,更稳定的Nginx,所以LNMP就是Linux+Nginx+Mysql/MariaDB+Perl/PHP/Python的缩写: 引用LNMP一键安装包网站的简介来简单的介绍一下,为什么要选择LNMP LNMP一键安装包是什么? LNMP一键安装包是一个用Linux Shell编写的

阿里云MVP携手博客园,寻找下一个MVP!专属服务、大咖交流、企业游学等你来!申请就送100元代金券!

"传递技术力量,传承布道精神."阿里云MVP(最有价值专家)第七期全球招募开启,与博客园携手,寻找热爱技术.乐于分享.关注个人成长的你! 戳链接,通过[博客园绿色通道]一键直达: https://mvp.aliyun.com/mvp/apply?recommendType=2&recommendId=qxJWelDeU8KrQWUUyLKtYw== 前20名申请即提供100元代金券,认证成功还送阿里云T-shirt. 如果你是资深开发者,想第一时间接触最新云技术,实现个人能力跃