重定向解决国外服务器与国内域名备案的问题

<返回列表

情景:有2个域名 、1个服务器,服务器在美国机房。然后我把域名都解析过去,国外的服务器嘛,不用备案。可是随着时间的推移,业务的增加,要用到七牛云的加速cdn,要有一个备案好的加速域名,微信分享到朋友或朋友圈也需要域名备案。所以,我的域名需要备案。

一开始是想把所有机器迁移到国内,可是这样国外的访问速度受影响,而且域名也需要备案,备案期间,域名是访问不了的,所以这种方法不行。

就在一筹莫展的时候,无意看到了一个servlet程序,其中有一个sendRedirect的方法,顿时豁然开朗。一个解决域名备案的方法应运而生。我可以用一个国内的服务器帮我备案,然后把发送到国内服务器的请求重定向到国外就行。

首先,我先买一个便宜的国内服务器(忽略阿里云服务器未满3个月不能备案的前提),把2个域名中用的少的一个解析到国内服务器(虽然该域名在备案期间也不能用,但总比两个都不能访问要强),然后按照流程案…………………………………………………………………………………………………………………………………………………………………………….

过了20天,备案好了(假设中间没遇到资料什么的错误),现在开始配置好国内服务器的环境,假设我有AA、BB、CC、DD 四个项目,其中AA是官网。

具体步骤:

修改国内服务器的tomcat的conf下的server.xml,将8080端口改为80

先把国内服务器的tomcat的webapps目录下的ROOT改为tomcat,然后把AA上传到服务器的tomcat的webapps目录下,把AA改名为ROOT,重启tomcat后,就可以在备案号的域名下访问了

在本地新建一个java web项目,就写一个servlet,

@WebServlet("/")

public class xxx extends HttpServlet {

   public void doGet(HttpServletRequest request, HttpServletResponse response)

           throws ServletException, IOException {

       String r_request = "http://没备案的域名/BB" +

               request.getServletPath() + //路由

               "?" + (request.getQueryString()); //参数

       //重定向

       respon}se.sendRedirect(r_request);

   }

   public void doPost(HttpServletRequest request, HttpServletResponse response)

           throws ServletException, IOException {

       doGet(request, response);

   }

}

编译,运行,看了一下重定向没问题,那就导出war包,导出时将名称改为BB.war,然后再修改程序的

String r_request = "http://没备案的域名/CC" +

部分,把BB替换成CC,然后编译、导出CC.war,DD同理

最后,把BB、CC、DD 都上传到国内服务器上。这样,就可以实现转发功能了,而备案好的域名也可以用于七牛云和微信认证

注意:这里采用重定向个请求转发都可以的,请求转发在某些特定场景会更精细,比如微信分享时,缩略图需要用微信的js接口,但是请求转发的重点在服务端,重定向的重点在客户端(实际是请求了两次),为了性能,我这里采用重定向,大部分的目地可以达到。

国内免备案VPS301跳转服务器国内免备案服务器域名被墙跳转301,绕过信息安全中心不能放违反法律法规内容!(北京免备案  镇江免备案 江苏免备案 辽宁免备案vps 山东联通免备案) 
分享新闻到:

更多帮助

重定向解决国外服务器与国内域名备案的

新闻中心 2024-05-08
情景:有2个域名 、1个服务器,服务器在美国机房。然后我把域名都解析过去,国外的服务器...
查看全文

租用免备案云服务器如何选择?

新闻中心 2024-05-08
免备案云主机是指,无需备案即可用于建站等用途的服务器。比如日本、美国等海外地区的主...
查看全文

做网站租用什么样的服务器比较好?

新闻中心 2024-05-08
企业和个人在选择租用低价服务器时,应注意哪些问题,如何有效避免呢?互联数据总结了几种...
查看全文