web网关配置手册

web网关配置手册

web网关的配置数据基本上都是存在于数据库中,可通过clt -r命令将配置数据导出成xml文件,修改后再更新到数据库中clt -u。

主要的配置如下:

 

一、 内网URL的配置(转向proxy的域名,该配置只适合添加域名

该配置涉及三个文件http-client.xml、header-filter-request.xml、hostresolver.xml

http-client.xml 配置url的指向

将需要指向proxyurl填写到这里

stringsetinnerProxyUrls=Str.createSet("*.*.uni-info.com.cn","*.wap.wo.com.cn",…………)

 

stringspecialUrl = Str.concat(Str.concat(HttpReq.getProtocol(),"://"), Str.concat(HttpReq.getHost(), HttpReq.getPath()),Str.concat("?", HttpReq.getQuery()));

------此语句用来处理识别URL中存在?问号

 

if(Str.setContains(innerProxyUrls, HttpReq.getHost()) ||Str.setContains(innerProxyUrls, fullUrl) || Str.setContains(innerProxyUrls,dirUrl))

{

                    return"httpproxy";

        }

匹配以上域名的url,则转向"httpproxy"的配置

10.184.73.140proxyIP地址,端口是8000

 

    elseif(HttpReq.hostMatch("mmsc.myuni.com.cn")|| HttpReq.hostMatch("192.168.30.180") ||HttpReq.hostMatch("mmsc.monternet.com"))

        {

             return"mmsc";

        }

匹配mmsc.myuni.com.cn192.168.30.180mmsc.monternet.com的,都转向" mmsc "彩信中心地址的配置

   

10.184.73.180是彩信中心的IP地址,端口是8080

 

其他默认的指向default,即表示出公网。

       else

           return "default";

    

 

header-filter-request.xml 配置请求中的http头信息

stringsetinnerProxyUrls = Str. createSet("*.*.uni-info.com.cn","*.wap.wo.com.cn",…………)

送到proxy的都要传递手机号,这一块儿的配置跟http-client一致。

 

     Mem.setConfigParams(Msid.toString(Auth.getMsisdn()),bearerType, Ip.toString(HttpReq.getTerminalIp()), Ip.toString(Auth.getGgsnIp()));

            return "httpproxy";

     }

匹配以上域名的转到httpproxy配置,其中“x-up-calling-line-id”代表手机号。

 

       

           

                

                

                

                

            

       

 

各个参数说明:

手机号码:x-up-calling-line-id

手机IP地址:x-forwarded-for

浏览器类型:user-agent

User-ProfileURIx-wap-profile

接入承载方式:x-up-bear-type

GGSN地址:x-source-id

 

如果要删除以上某些字段信息,则在……中去掉改字段即可。

 

如果要删除User-Agentx-wap-profile等信息,则需要写成以下格式:

    

    

 

hostresolver.xml内网域名解析

由于内网域名不需要解析,直接转向proxy,将需要指向proxy的域名添加到hostresolver.xml的以下位置中。

………………….

 

 

以上配置无需手动修改,应使用httpproxy脚本导入,脚本会自动修改以上三个文件,具体操作如下:(注意:该方法只适用于添加域名指向proxy,长url只能手工添加,方法见第二节

登录DBU1,进入/opt/httpproxy目录,编辑list.txt文件,写入所有需要指向proxy的url地址(包括原来的和新增的),如:

*.*.uni-info.com.cn

*.wap.wo.com.cn

*.mclient.uni-info.com.cn

*.uni-info.com.cn

10.123.254.*

10.184.68.51

…………

每一行是一条域名数据。

 

 

然后执行命令进行全量导入

./intranet.shlist.txt true

 

 

list.txt列表编写方法:

clt -r http-client导出来,把stringset innerProxyUrls = Str.createSet(。。。。。)里边的列表搞出来,做成list.txt,一行一条url

注意,这一步只是为了保证列表是现网最新的数据,如果能保证list.txt的内容已是最新的,可以不做,直接在后边追加新域名。

最快的替换方法是使用editplus工具,将"",""替换为回车。然后掐头去尾双引号 再把要添加的url追加到结尾,将list.txt上传到 /opt/httpproxy下,执行 

./intranet.shlist.txt true 

 

二、 内网URL的配置(全路径的url指向proxy)

clt -r http-client

http-client.xml

将要指向proxy的url全路径添加到如下蓝色位置:

stringsetproxyUrls = Str.createSetIgnoreCase(

"http://gwap.yes3g.com/gwap/gl_mccyc/index.jsp",

"http://gwap.yes3g.com/gwap/gl_mjqxz/index.jsp",

"http://gwap.yes3g.com/gwap/gl_fyttkx/index.jsp",

"http://gwap.yes3g.com/gwap/gl_jcqxdt/index.php",

… … … …

if(Str.setContains(proxyUrls,fullUrl) || Str.setContains(proxyUrls, dirUrl) || Str.setContains(proxyUrls,specialUrl))

    {

         return "httpproxy";

}

三、 增加传递明文手机号码

登录DBU

clt -rheader-filter-request

header-filter-request.xml

将需要传递明文手机号码的url添加到如下位置,这里增加的域名是除了以上在innerProxyUrls列表中要转向proxy的内网地址之外的需要传递手机号的域名列表。

stringset onlineHall =Str.createSetIgnoreCase("wap.10010.com","mob.10010.com",………….);

return "onlineHall";

其转向的是

   

       

           

                

                

                

                

                

               

                 

                

            

       

   

这里转向的是手机营业厅的配置,其中http头中带手机号码x-up-calling-line-id

 

四、 终端适配

登录DBU

clt -r contentadaptation

contentadaptation.xml;

不需要终端适配的url添加到如下地方

if(HttpReq.hostMatch("unisk.wap.wo.com.cn") ||HttpReq.hostMatch("tom.wap.wo.com.cn") ||HttpReq.hostMatch("qh.2g.wo.com.cn")……)

        {

                isenable="disable";

        }

其他默认都是进行终端适配的。

return isenable;

 

五、 增加重定向

例如:访问*.tt560.com和wap.tusss.net重定向到www.wo.com.cn

登录DBU

clt -r authorization

 

  msid msisdn = Auth.getMsisdn ();

  msidrange barredRange = Msid.createRange("861*");

  string urlToRedirect ="wap.tt560.com";

  stringurlRedirected="http://www.wo.com.cn";

  if ( Msid.rangeContains (barredRange, msisdn)&& (HttpReq.hostMatch("*.tt560.com") || HttpReq.hostMatch ("wap.tusss.net")))

   {

            Mem.setConfigParams ( urlRedirected);

      return "redirect";

   }

  ]]>

需要重定向的url追加到红色字体部分

 

首次浏览重定向

    

       if(Session.getStr("FirstTime") == "") {

                    Session.putStr("FirstTime", "99");

                    Mem.setConfigParams("http://www.wo.com.cn");

                     return "redirect";

                }

     ]]>

 

 六、 访问控制

web网关可以针对手机号段和具体手机号码,访问网站进行限制或允许访问。

 

clt -r authorization

 

1.        针对手机号段和访问域名进行限制访问的配置,如156号段禁止访问baidugoogle网站:

 msid msisdn = Auth.getMsisdn ();

 msidrange barredRange = Msid.createRange ("86156*");

 string barredUrl = "www.google.com";

  if (Msid.rangeContains (barredRange, msisdn) && (HttpReq.hostMatch("www.baidu.com")|| HttpReq.hostMatch("www.google.com")))

    {

      return "deny";

    }

  else

    {

     return "allow";

    }

]]>

 

2.        涉黄网站封堵,将禁止访问的域名追加在以下列表后边:

  stringset denyUrls = Str.createSetIgnoreCase(

"*.1234vv.com",

"*.172tp.cn",

"*.17cr.cn",

"*.18nrse.cn",

"*.258sl.cn",

………………

 

url放在下边

stringset longUrls =Str.createSetIgnoreCase(

"http://www.google.cn/gwt/x/i?client=ms-tencent_cmcc-cn&ei=cdQNS5yXLpjq6AP5qqzhBw&output=wml&u=http%3A%2F%2Fimages.sxx.com/pic_teasers/1/15/1575/92f3d9191f/nude/01/1575_04.jpg&wsc=ti&wsi=1f5e4305249289c7",

"http://wap.sohu.com/book/paihang/?pg=BKREVIEW&nid=928&stid=dv&bkid=86758&cpid=48&t=93975",

"http://wap.baidu.com/s?word=%E4%B9%B1%E4%BC%A6%E6%BF%80%E6%83%85%E6%80%A7%E4%BA%A4&pn=10&rn=5&tn=webmain&from=140a_w1_1258388821&ssid=0&bd_page_type=0&prest=111001&st=111181&tt=22322&uid=index_124&pu=pd%402%2Cuc%400",

"http://gamexg.com/Book-readchapter-2445-712949-1-10000.html",

"http://news.wap.sohu.com/sogou/webs/?pg=webz&url=http%3A%2F%2Fz.easou.com%2Fshow.m%3Fpn%3D2%26amp%3Ba%3D0%26amp%3Bq%3D55niu.com%26amp%3Bsr%3Dhttp%253A%252F%252Fa.44b4.com%252Fhtml%252Fdushijiqing%252F1013313U2009.html%26amp%3Bsurl%3D%26amp%3Besid%3Dr2A-YFaj4zHWZ",

"http://3g.sina.com.cn/prog/wapsite/books/vipc.php?bid=99452&cid=62754&pn=3&isc=n&pcn=0&fix=0&vt=1&PHPSESSID=960342f0b4ff3171de805eec57f509e4&wm=4007",

"http://news.wap.sohu.com/pim/message/fmsglist.do?&u_uid=330544100_137d87dc&fr=uc001",

"http://hti.wap.wo.com.cn/3g/20/3GJ.wap",

"http://hti.wap.wo.com.cn/3g/20/3GO.wap",

"http://hti.wap.wo.com.cn/3g/20/3GI.wap",

"http://hti.wap.wo.com.cn/3g/20/3GC.wap",

……………..

]]>

3.        针对具体手机号和访问域名进行限制访问的配置,如手机号18609716448禁止访问baidugoogle网站。

 msid msisdn = Auth.getMsisdn ();

 msidset barredRange1 = Msid.createSet("8618609716448");

   if (Msid.setContains(barredRange1,msisdn) && (HttpReq.hostMatch("www.baidu.com") || HttpReq.hostMatch("www.google.com")))

     {

       return "deny";

      }

   else

      return "allow";

]]>

 

 七、 图片压缩比配置

clt -r compression

ImageQualityReductionLevel="70"配置压缩率

 

 八、 push配置

clt -r push

10.184.73.10"/>

8801"/>

1065578444/1065578444@1065578444"/>

 

  1. 10.184.73.10为短信网关(sgip/短信中心(smpp)的IP地址,8801为其端口。
  2. 1065578444/1065578444为短信网关/中心提供给我们的用户名,密码
  3. 1065578444SP接入号,也是短信方需要提供的

 

 

 

APP配置文件:/etc/nbg/system/setup/cluster/cluster_setup.xml

 

 

你可能感兴趣的:(项目实施,Linux/Unix,web)