web网关_配置手册

web网关配置手册

 

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

主要的配置如下:

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

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

http-client.xml 配置url的指向

将需要指向proxy的url填写到这里

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"的配置

<cs:Config Name="httpproxy"><Proxy Host="10.184.73.140" Port="8000" ProtocolVersion="*" PersistentConnection="true"/></cs:Config>

10.184.73.140是proxy的IP地址,端口是8000

 

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

        {

             return "mmsc";

        }

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

<cs:Config Name="mmsc">

    <Proxy Host="10.184.73.180" Port="8080" ProtocolVersion="*" PersistentConnection="false" />

</cs:Config>

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

 

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

        else

            return "default";

<cs:Config Name="default" Default="true">

     <Proxy Host="DIRECT" ProtocolVersion="*" PersistentConnection="true"/>

</cs:Config>

 

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

stringset innerProxyUrls = 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”代表手机号。

  <cs:Config Name="httpproxy" Default="false">

        <HeaderFilterRequestConfig>

            <Add>

                 <Header Name="x-up-calling-line-id" Value="{0}"/>

                 <Header Name="x-up-bear-type" Value="{1}"/>

                 <Header Name="x-forwarded-for" Value="{2}"/>

                 <Header Name="x-source-id" Value="{3}"/>

             </Add>

        </HeaderFilterRequestConfig>

 

各个参数说明:

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

手机IP地址:x-forwarded-for

浏览器类型:user-agent

User-Profile的URI:x-wap-profile

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

GGSN地址:x-source-id

 

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

 

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

<Remove>

     <Header Name="User-Agent"/>

     <Header Name="x-wap-profile"/>

</Remove>

 

hostresolver.xml内网域名解析

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

<FreeHostList>

<Item host="*.wap.uni-info.com.cn"/>

<Item host="*.wap.wo.com.cn"/>

………………….

</FreeHostList>

 

 

以上配置无需手动修改,应使用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.sh list.txt true

 

 

list.txt列表编写方法:

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

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

 

    最快的替换方法是使用editplus工具,将"","" 替换为回车。

 

 

然后掐头去尾双引号 

 

再把要添加的url追加到结尾,将list.txt上传到 /opt/httpproxy下,执行 

./intranet.sh list.txt true                  

 

 

 

 

 

 

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

clt -r http-client

http-client.xml

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

stringset proxyUrls = 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 -r header-filter-request

header-filter-request.xml

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

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

return "onlineHall";

其转向的是

    <cs:Config Name="onlineHall">

        <HeaderFilterRequestConfig>

            <Add>

                 <Header Name="X-Nokia-Gateway-Id" Value="{0}/{1}/{2}"/>

                 <Header Name="X-Nokia-BEARER" Value="{3}"/>

                 <Header Name="x-up-bear-type" Value="{3}" />

                 <Header Name="X-Nokia-MaxDownlinkBitrate" Value="{4}"/>

                 <Header Name="X-Nokia-MaxUplinkBitrate" Value="{5}"/>

                <Header Name="x-up-calling-line-id" Value="{6}"/>

                 <Header Name="x-forwarded-for" Value="{7}"/>

                 <Header Name="x-source-id" Value="{8}"/>

             </Add>

        </HeaderFilterRequestConfig>

    </cs:Config>

这里转向的是手机营业厅的配置,其中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

  <![CDATA[

  msid msisdn = Auth.getMsisdn ();

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

  string urlToRedirect = "wap.tt560.com";

  string urlRedirected="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追加到红色字体部分

 

首次浏览重定向

     <![CDATA[

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

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

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

                     return "redirect";

                }

     ]]>

 

  • 访问控制

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

 

clt -r authorization

 

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

<! [CDATA [

  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";

    }

]]>

 

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

<! [CDATA [

  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",

……………..

]]>

 

 

 

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

<![CDATA[

  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

<Item name="COMM_BEARER_1_TYPE" value="SMPP"/>

<Item name="COMM_BEARER_1_WDP_SMS_DRIVER_SMSC_HOST" value="10.184.73.10"/>

<Item name="COMM_BEARER_1_WDP_SMS_DRIVER_SMSC_PORT" value="8801"/>

<Item name="COMM_BEARER_1_WDP_SMS_DRIVER_LOCAL_ADDRESS" value=" 1065578444/1065578444@1065578444"/>

 

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

 

 

 

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

<Application>

<Service Name="Management"/>

<Service Name="Radius"/>

<Service Name="AccountingIf"/>

<Service Name="Traffic"/>

<Service Name="Push"/>

</Application>

 

<Application>

<Service Name="Traffic"/>

<Service Name="Radius"/>

<Service Name="AccountingIf"/>

<Service Name="Push"/>

</Application>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值