basic和behavior也加上dkc的自定义域,界面暂时隐藏,调整app的dns spoofing的复选框位置;

APP Identify IP修改为APP IP;
DK GL修改为Correlation;
调整导入的stream模块自定义域设置;
https 的contol doLog默认为1,可选择;
https 的cache和intercep默认为2,不变;
This commit is contained in:
duandongmei
2019-01-11 11:36:04 +06:00
parent bfb931747b
commit 11e35d04ed
11 changed files with 115 additions and 23 deletions

View File

@@ -2402,11 +2402,67 @@ public abstract class BaseService {
maatCfg.setUserRegion(Constants.DNS_STRATEGY_USER_REGION_KEY+"="+_cfg.getDnsStrategyId());
}
}else if(regionDict.getFunctionId()==407) {// Protocol Identify
//PROTOCOL IDENTITY USER_REGION PROTOCOL_ID=ProtocolId
maatCfg.setUserRegion(Constants.PROTO_ID_REGION + "=" + _cfg.getAppCode());
// 限速业务需要设置 USER_REGION Droprate=userregion3
if (Constants.RATELIMIT_ACTION.equals(_cfg.getAction())) {
_cfg.setUserRegion1(StringUtil.isEmpty(_cfg.getUserRegion1()) ? "0":_cfg.getUserRegion1());
//限速 需要发Droprate=0.001 暂不支持Bandwidth=200kbps
if(_cfg.getUserRegion1().equals("0")){//丢包率
_cfg.setUserRegion2(StringUtil.isEmpty(_cfg.getUserRegion2()) ? "":_cfg.getUserRegion2());
maatCfg.setUserRegion(maatCfg.getUserRegion()+Constants.USER_REGION_SPLIT +Constants.INTERCEPT_IP_RATELIMIT_DROPRATE_USER_REGION_KEY+"="+_cfg.getUserRegion2());
}else if(_cfg.getUserRegion1().equals("1")){//带宽
_cfg.setUserRegion3(StringUtil.isEmpty(_cfg.getUserRegion3()) ? "":_cfg.getUserRegion3());
maatCfg.setUserRegion(maatCfg.getUserRegion()+Constants.USER_REGION_SPLIT +Constants.INTERCEPT_IP_RATELIMIT_BANDWITH_USER_REGION_KEY+"="+_cfg.getUserRegion3());
}
}
//DKC=8 USER_REGION DKC=userregion4
if(!StringUtil.isEmpty(_cfg.getUserRegion4()) && Constants.REJECT_ACTION.equals(_cfg.getAction())){
maatCfg.setUserRegion(maatCfg.getUserRegion()+Constants.USER_REGION_SPLIT +Constants.APP_VIGNORE_USER_REGION_KEY+"="+_cfg.getUserRegion4());
}
// USER_REGION config_id=compileId
maatCfg.setUserRegion(maatCfg.getUserRegion()+Constants.USER_REGION_SPLIT+"config_id="+maatCfg.getCompileId());
}else if(regionDict.getFunctionId()==63) {// APP Policy
maatCfg.setUserRegion(Constants.APP_ID_REGION + "=" + _cfg.getAppCode()+Constants.USER_REGION_SPLIT+"config_id="+_cfg.getCompileId());
//APP IDENTITY USER_REGION包含APP_ID=AppCode;BEHAV_ID=ProtocolId
maatCfg.setUserRegion(Constants.APP_ID_REGION + "=" + _cfg.getAppCode()+Constants.USER_REGION_SPLIT+ Constants.BEHAV_ID_REGION + "=" + _cfg.getBehavCode());
// 限速业务需要设置
if (Constants.RATELIMIT_ACTION.equals(_cfg.getAction())) {
_cfg.setUserRegion1(StringUtil.isEmpty(_cfg.getUserRegion1()) ? "0":_cfg.getUserRegion1());
//限速 需要发Droprate=0.001 暂不支持Bandwidth=200kbps
if(_cfg.getUserRegion1().equals("0")){//丢包率
_cfg.setUserRegion2(StringUtil.isEmpty(_cfg.getUserRegion2()) ? "":_cfg.getUserRegion2());
maatCfg.setUserRegion(maatCfg.getUserRegion()+Constants.USER_REGION_SPLIT +Constants.INTERCEPT_IP_RATELIMIT_DROPRATE_USER_REGION_KEY+"="+_cfg.getUserRegion2());
}else if(_cfg.getUserRegion1().equals("1")){//带宽
_cfg.setUserRegion3(StringUtil.isEmpty(_cfg.getUserRegion3()) ? "":_cfg.getUserRegion3());
maatCfg.setUserRegion(maatCfg.getUserRegion()+Constants.USER_REGION_SPLIT +Constants.INTERCEPT_IP_RATELIMIT_BANDWITH_USER_REGION_KEY+"="+_cfg.getUserRegion3());
}
}
//DKC=8
if(!StringUtil.isEmpty(_cfg.getUserRegion4()) && Constants.REJECT_ACTION.equals(_cfg.getAction())){
maatCfg.setUserRegion(Constants.USER_REGION_SPLIT +Constants.APP_VIGNORE_USER_REGION_KEY+"="+_cfg.getUserRegion4());
}
maatCfg.setUserRegion(Constants.USER_REGION_SPLIT+"config_id="+_cfg.getCompileId());
}else if(regionDict.getFunctionId()==408) {// Behavior Identify
maatCfg.setUserRegion(Constants.PROTO_ID_REGION + "=" + _cfg.getAppCode()+Constants.USER_REGION_SPLIT+Constants.APP_VIGNORE_USER_REGION_KEY+"=1");
//BEHAVIOR IDENTITY USER_REGION包含APP_ID=AppCode;BEHAV_ID=ProtocolId
maatCfg.setUserRegion(Constants.APP_ID_REGION + "=" + _cfg.getAppCode()+Constants.USER_REGION_SPLIT+ Constants.BEHAV_ID_REGION + "=" + _cfg.getBehavCode());
// 限速业务需要设置
if (Constants.RATELIMIT_ACTION.equals(_cfg.getAction())) {
_cfg.setUserRegion1(StringUtil.isEmpty(_cfg.getUserRegion1()) ? "0":_cfg.getUserRegion1());
//限速 需要发Droprate=0.001 暂不支持Bandwidth=200kbps
if(_cfg.getUserRegion1().equals("0")){//丢包率
_cfg.setUserRegion2(StringUtil.isEmpty(_cfg.getUserRegion2()) ? "":_cfg.getUserRegion2());
maatCfg.setUserRegion(maatCfg.getUserRegion()+Constants.USER_REGION_SPLIT +Constants.INTERCEPT_IP_RATELIMIT_DROPRATE_USER_REGION_KEY+"="+_cfg.getUserRegion2());
}else if(_cfg.getUserRegion1().equals("1")){//带宽
_cfg.setUserRegion3(StringUtil.isEmpty(_cfg.getUserRegion3()) ? "":_cfg.getUserRegion3());
maatCfg.setUserRegion(maatCfg.getUserRegion()+Constants.USER_REGION_SPLIT +Constants.INTERCEPT_IP_RATELIMIT_BANDWITH_USER_REGION_KEY+"="+_cfg.getUserRegion3());
}
}
//DKC=8
if(!StringUtil.isEmpty(_cfg.getUserRegion4()) && Constants.REJECT_ACTION.equals(_cfg.getAction())){
maatCfg.setUserRegion(Constants.USER_REGION_SPLIT +Constants.APP_VIGNORE_USER_REGION_KEY+"="+_cfg.getUserRegion4());
}
maatCfg.setUserRegion(Constants.USER_REGION_SPLIT+"config_id="+_cfg.getCompileId());
}else if(regionDict.getFunctionId()==301) {// Anti DDOS
Map umap= new HashMap();
umap.put("protocol", _cfg.getAntiddosProtocol());

View File

@@ -1023,7 +1023,7 @@ public class AppCfgService extends BaseService {
}
//DKC=8
if(!StringUtil.isEmpty(entity.getUserRegion4())){
userRegion+=Constants.USER_REGION_SPLIT +Constants.APP_VIGNORE_USER_REGION_KEY+"=1";
userRegion+=Constants.USER_REGION_SPLIT +Constants.APP_VIGNORE_USER_REGION_KEY+"="+entity.getUserRegion4();
}
userRegion+=Constants.USER_REGION_SPLIT+"config_id="+entity.getCompileId();
maatCfg.setUserRegion(userRegion);

View File

@@ -708,7 +708,7 @@ ir_type=Reuse Type
dns_strategy_id=DNS Policy ID
no_strategy=Default Strategy
domain=Domain
app_ip_config=APP Identify IP
app_ip_config=APP IP
bytes=Byte
app_http_config=APP HTTP Feature
app_domain_config=APP Domain Feature
@@ -1121,7 +1121,7 @@ APP_PAYLOAD_ADMIN=APP Payload Feature
APP_HTTP_ADMIN=APP HTTP Feature
APP_DNS_ADMIN=APP DNS Feature
APP_SSL_ADMIN=APP SSL Feature
APP_DK_GL=APP DK GL Feature
APP_DK_GL=APP Correlation Feature
dnat_ip_complex_loop=DNAT Reuse Policy Loop
snat_ip_complex_loop=SNAT Reuse Policy Loop
snat_ip_reuse_adress_pool_loop=SNAT Address Pool Loop

View File

@@ -708,7 +708,7 @@ ir_type=\u0422\u0438\u043f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u043
dns_strategy_id=\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 DNS
no_strategy=\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438
domain=\u0414\u043e\u043c\u0435\u043d
app_ip_config=\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
app_ip_config=APP IP
bytes=\u0411\u0430\u0439\u0442
app_http_config=\u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f HTTP
app_domain_config=\u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043e\u043c\u0435\u043d\u0430
@@ -1121,7 +1121,7 @@ APP_PAYLOAD_ADMIN=\u041f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u041d\u0430\
APP_HTTP_ADMIN= HTTP \u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439
APP_DNS_ADMIN= DNS \u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439
APP_SSL_ADMIN=SSL \u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439
APP_DK_GL=DK GL \u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439
APP_DK_GL=APP Correlation Feature
dnat_ip_complex_loop=\u041f\u0435\u0442\u043b\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f DNAT
snat_ip_complex_loop=\u041f\u0435\u0442\u043b\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f SNAT
snat_ip_reuse_adress_pool_loop=\u041f\u0435\u0442\u043b\u044f \u043f\u0443\u043b\u0430 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 SNAT

View File

@@ -706,7 +706,7 @@ ir_type=\u590d\u7528\u7c7b\u578b
dns_strategy_id=DNS\u7b56\u7565ID
no_strategy=\u9ed8\u8ba4\u7b56\u7565
domain=\u57df\u540d
app_ip_config=APP\u534f\u8baeIP
app_ip_config=APP IP
bytes=\u5b57\u8282
app_http_config=APP HTTP\u7279\u5f81
app_domain_config=APP\u57df\u540d\u7279\u5f81
@@ -1120,7 +1120,7 @@ APP_PAYLOAD_ADMIN=APP Payload Admin
APP_HTTP_ADMIN=APP HTTP Admin
APP_DNS_ADMIN=APP DNS Admin
APP_SSL_ADMIN=APP SSL Admin
APP_DK_GL=APP\u591a\u7528\u9014\u6807\u7b7e
APP_DK_GL=APP Correlation Feature
dnat_complex_loop=DNAT IP\u590d\u7528\u56de\u6d41
snat_policy=SNAT\u590d\u7528\u7b56\u7565
dnat_policy=DNAT\u590d\u7528\u7b56\u7565

View File

@@ -329,11 +329,11 @@ var delContent = function(contentClassName, addBtnClassName) {
<div class="col-md-6 dnsIpSpoofing hidden">
<div class="form-group">
<label class="control-label col-md-3">
<input type="checkbox" name="userRegion4" class="child-checks" <c:if test='${_cfg.userRegion4 eq "8" }'> checked</c:if> value="8">
<spring:message code="block_by_app_server_ip"/>
</label>
<div class="col-md-6">
<label class="control-label">
<spring:message code="block_by_app_server_ip"/>
<input type="checkbox" name="userRegion4" class="child-checks" <c:if test='${_cfg.userRegion4 eq "8" }'> checked</c:if> value="8">
</label>
</div>
<div for="userRegion4"></div>

View File

@@ -17,6 +17,11 @@ $(function(){
$(".ratelimitAction").find("input[name='userRegion1']").on("change",function(){
switchRateLimitType();
});
if($(".action:checked").val()==16){
$(".dnsIpSpoofing").removeClass("hidden");
}else{
$(".dnsIpSpoofing").addClass("hidden");
}
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
@@ -26,6 +31,11 @@ $(function(){
}else{
$(".ratelimitAction").addClass("hidden");
}
if($(".action:checked").val()==16){
$(".dnsIpSpoofing").removeClass("hidden");
}else{
$(".dnsIpSpoofing").addClass("hidden");
}
switchAction(action);
if($(this).val()==1){
$(".ipPortAdd").click();
@@ -268,10 +278,10 @@ var switchRateLimitType=function(){
</c:forEach>
</div>
</div>
<div class="col-md-6 hidden">
<%-- <div class="col-md-6 dnsIpSpoofing hidden">
<div class="form-group">
<label class="control-label col-md-3">
<input type="checkbox" name="userRegion4" class="child-checks" <%-- <c:if test="${_cfg.userRegion4 eq '1' }"> --%>checked<%-- </c:if> --%> value="1">
<input type="checkbox" name="userRegion4" class="child-checks" <c:if test='${_cfg.userRegion4 eq "8" }'> checked</c:if> value="8">
</label>
<div class="col-md-6">
<label class="control-label">
@@ -280,7 +290,7 @@ var switchRateLimitType=function(){
</div>
<div for="userRegion4"></div>
</div>
</div>
</div> --%>
</div>
<div class="row ratelimitAction hidden">
<h4 class="form-section">

View File

@@ -387,7 +387,7 @@
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
<th column="cfg_id" class="sort-column r.compile_id" style="display: none"><spring:message code="cfg_id"/></th>
<th column="config_describe" class="sort-column r.cfg_desc cfgDesc"><spring:message code="config_describe"/></th>
<%-- <th column="behaviour_type" ><spring:message code="behaviour_type"/></th> --%>
<%-- <th column="user_region4" ><spring:message code="block_by_app_server_ip"/></th> --%>
<th column="block_type" class="sort-column r.action"><spring:message code="block_type"/></th>
<th column="ratelimit" ><spring:message code="ratelimit"/></th>
<th column="basic_protocol" ><spring:message code="basic_protocol"/></th>
@@ -417,6 +417,11 @@
</td>
<td>${cfg.compileId }</td>
<td>${cfg.cfgDesc }</td>
<%-- <td>
<c:if test="${cfg.userRegion4 eq '8'}">
<spring:message code="block_by_app_server_ip"/>
</c:if>
</td> --%>
<td>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
<c:if test="${dict.itemCode eq cfg.action }">
@@ -434,7 +439,6 @@
</c:if>
</td>
<td class="appCode" id="${cfg.appCode }">${cfg.appCode }</td>
<%--<td class="behavCode" id="${cfg.behavCode }">${cfg.behavCode }</td>--%>
<td>
<c:choose>
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>

View File

@@ -12,6 +12,11 @@ $(function(){
$(".ratelimitAction").find("input[name='userRegion1']").on("change",function(){
switchRateLimitType();
});
if($(".action:checked").val()==16){
$(".dnsIpSpoofing").removeClass("hidden");
}else{
$(".dnsIpSpoofing").addClass("hidden");
}
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
@@ -21,6 +26,11 @@ $(function(){
}else{
$(".ratelimitAction").addClass("hidden");
}
if($(".action:checked").val()==16){
$(".dnsIpSpoofing").removeClass("hidden");
}else{
$(".dnsIpSpoofing").addClass("hidden");
}
switchAction(action);
});
$("#serviceId").val($(".action:checked").attr("serviceId"));
@@ -263,10 +273,10 @@ var switchRateLimitType=function(){
</c:forEach>
</div>
</div>
<div class="col-md-6 hidden">
<%-- <div class="col-md-6 dnsIpSpoofing hidden">
<div class="form-group">
<label class="control-label col-md-3">
<input type="checkbox" name="userRegion4" class="child-checks" <%-- <c:if test="${_cfg.userRegion4 eq '1' }"> --%>checked<%-- </c:if> --%> value="1">
<input type="checkbox" name="userRegion4" class="child-checks" <c:if test='${_cfg.userRegion4 eq "8" }'> checked</c:if> value="8">
</label>
<div class="col-md-6">
<label class="control-label">
@@ -275,7 +285,7 @@ var switchRateLimitType=function(){
</div>
<div for="userRegion4"></div>
</div>
</div>
</div> --%>
</div>
<div class="row">

View File

@@ -384,6 +384,7 @@
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
<th column="cfg_id" class="sort-column r.compile_id" style="display: none"><spring:message code="cfg_id"/></th>
<th column="config_describe" class="sort-column r.cfg_desc cfgDesc"><spring:message code="config_describe"/></th>
<%-- <th column="user_region4" ><spring:message code="block_by_app_server_ip"/></th> --%>
<th column="block_type" class="sort-column r.action"><spring:message code="block_type"/></th>
<th column="ratelimit" ><spring:message code="ratelimit"/></th>
<th column="encrypted_tunnel_behavior" ><spring:message code="encrypted_tunnel_behavior"/></th>
@@ -414,6 +415,11 @@
</td>
<td>${cfg.compileId }</td>
<td>${cfg.cfgDesc }</td>
<%-- <td>
<c:if test="${cfg.userRegion4 eq '8'}">
<spring:message code="block_by_app_server_ip"/>
</c:if>
</td> --%>
<td>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
<c:if test="${dict.itemCode eq cfg.action }">

View File

@@ -148,7 +148,6 @@
<input type="hidden" name="compileId" value="${_cfg.compileId}">
<input type="hidden" name="functionId" value="${_cfg.functionId}">
<input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}">
<input type="hidden" id="doLog" name="doLog" value="2">
<div class="form-body">
<div class="row">
@@ -192,14 +191,20 @@
</div>
</div>
<c:if test="${action != 128 }">
<c:if test="${empty _cfg.cfgId }">
<c:set var="doLog" value="1"/>
</c:if>
<c:if test="${!empty _cfg.cfgId }">
<c:set var="doLog" value="${_cfg.doLog }"/>
</c:if>
<!-- 记录日志begin -->
<%-- <div class="row">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
<c:choose>
<c:when test="${dict.itemCode eq _cfg.doLog}">
<c:when test="${dict.itemCode eq doLog}">
<label class="radio-inline">
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
</label>
@@ -210,10 +215,11 @@
</label>
</c:otherwise>
</c:choose>
</c:forEach>
</div>
</div>
</div> --%>
</div>
<!-- 记录日志end -->
</c:if>
<c:if test="${action eq 128}"><!-- 白名单不记录日志默认为0 -->