如何实现国外域名调转到国内已备案ip

来源:互联网 发布:淘宝网装修代码 编辑:程序博客网 时间:2024/05/17 04:14

最近19大,我们的九护服务器惨遭禁止访问封锁。把人累惨了,每天封锁我们的ip,开始几天可以通过不断的更换新的ip,这样用户访问中断半小时左右,就恢复。

后来GWF越来越牛了,用户间歇性的无法访问了,我们也彻底的投降了,只好从亚马逊迁回到阿里云,备案吧。

问题来了,老的域名(www.guardever.com)不能动还得提供访问,新的域名(www.jh.tt)备案了,现在怎么让www.guardever.com 跳转到国内的 www.jh.tt 呢?

有几个思路:

1. 直接把 www.guardever.com 指向 国内的ip

        2. 域名跳转域名,用域名的CNAME记录

        3. 用iptables 进行端跳转,从 guardever.com的80端口跳转到 jh.tt的80端口

思路确定了,开始执行:

        1.  直接把 www.guardever.com 指向 国内的ip

访问马上就提示没备案,见下图,看来是没戏

        

    2. 域名跳转域名,用域名的CNAME记录

        在dnspod.cn 设置好解析,跟上面第一种情况一样,马上就提示没备案

   3. 用iptables 进行端跳转,从 guardever.com的80端口跳转到 jh.tt的80端口

      网上有教程,用SNAT和DNAT 但我没设置成功,我估计是NAT只支持局域网的,不支持公网跳转的。

   4. 没路了,竟然ip跳转不行,我想到了haproxy的集群跳转,让haproxy在 guardever.com上绑定80端口,然后agent设置跳转到 jh.tt:80

       偶尔成功,占多数时候,还是提示要备案,看来也是没戏了。估计阿里是判断了 http的reference,看是从哪个域名跳过来的。

       洗洗睡,晚上想到 阿里也许只是拦截了80端口,跳转到别的端口估计是可以。

  5. 早上起来,继续跳转到别的端口,让jh.tt的网站服务绑定在8081端口,然后用iptables把jh.tt的80端口跳转到8081端口,让jh.tt正常运行。

      然后让haproxy跳转到8081,测试了下出现了 网站主页,设置成功了。

=============================================================================================================

附haproxy的设置:

frontend http_proxy
        bind *:80
        mode tcp
        rate-limit sessions 20000
        option tcpka
        default_backend http_agent
backend http_agent
        mode tcp
        log global
        option tcpka
        option srvtcpka
        option httpchk GET /h HTTP/1.0\r\nUser-agent:\ LB-Check\ TCP
        http-check expect rstatus (2|3|4)[0-9][0-9]
        balance source
        server http_china1 120.78.143.149:8081 check port 80 check inter 60s rise 2 fall 3 maxconn 25000 weight 9