8.1 新增WEB应用

基本信息

Path: /api/v1/resource/createResource

Method: POST

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 必须  

Body

名称 类型 是否必须 默认值 备注 其他信息
accessModel string 必须 访问模式,web应用:WEB mock: WEB
subModel string 必须 子访问模式,web应用:WEB mock:WEB
name string 必须 名字
description string 非必须 描述
groupId string 必须 所属应用分类ID 可通过应用分类查询接口获取ID, 应用必须指定分类, groupId与groupName只传一个即可,都传时以groupId为准
groupName string 非必须 所属应用分类名称 groupId与groupName只传一个即可,都传时以groupId为准
status number 非必须 1 启用状态,0禁用,1启用 mock: 1
nodeGroupId string 必须 节点区域id 综合网关无需填写,分离式设备必填。nodeGroupId与nodeGroupName只传一个即可,都传时以nodeGroupId为准
nodeGroupName string 非必须 节点区域名称 综合网关无需填写,分离式设备必填。nodeGroupId与nodeGroupName只传一个即可,都传时以nodeGroupId为准
iconId string 非必须 "1" 预置的图标ID,"1"~"31"可供选择 自定义图标设置建议在控制台中配置
allowApply number 非必须 1 允许用户自助申请此应用,0不允许,1允许
applyForInfo object 非必须 用户申请信息,如果传输,需要保证结构完整
├─ content string 非必须 告警内容,需要与告警理由一起传输 例如:"您当前没有该应用的访问权限,请向管理员申请!"
├─ accessReason string[] 非必须 申请理由,需要与告警内容一起传输 例如:["我因为岗位职责原因需要访问该应用", "我因为个人特殊原因需要访问该应用"]
appAddress string 必须 后端应用服务器地址 mock: https://1.2.3.1
aliasAppAddresses string 非必须 后端应用服务器地址别名,英文逗号分隔 mock:https://1.1.1.2,https://1.1.1.3,https://1.1.1.4
accessAddress string 必须 前端应用访问地址 mock: https://testweb.com
accessEntry string 必须 浏览器打开地址 mock: https://testweb.com/
trustedCertId string 非必须 授信证书ID,默认内置web应用证书ID为"default" 前端地址为https时必须指定授信证书,可以根据证书ID或者名称进行指定(id优先)
trustedCertName string 非必须 授信证书名称 trustedCertName 和 trustedCertId 只传一个即可,都传以trustedCertId为准
sm2signCertId string 非必须 商密签名证书ID,默认内置商密签名证书ID为"sm2sign" enableGm为1,且前端地址为https时,必须指定商密签名证书( 仅适用于2.2.16及以上版本
sm2signCertName string 非必须 商密签名证书名称 sm2signCertId 和 sm2signCertName 只传一个即可,都传以sm2signCertId为准( 仅适用于2.2.16及以上版本
sm2encCertId string 非必须 商密加密证书ID,默认内置商密加密证书ID为"sm2enc" enableGm为1,且前端地址为https时,必须指定商密加密证书( 仅适用于2.2.16及以上版本
sm2encCertName string 非必须 商密加密证书名称 sm2encCertId 和 sm2encCertName 只传一个即可,都传以sm2encCertId为准( 仅适用于2.2.16及以上版本
enableGm number 非必须 0 应用是否启用中国商用密码标准传输 1代表启用,0代表禁用( 仅适用于2.2.16及以上版本
enableBackupCert number 非必须 0 是否启用备用授信证书 1代表启用,0代表禁用。仅当enableGm为1时启用才有意义
ext object 必须 扩展字段
├─ hide number 非必须 0 在用户应用中心隐藏,0不隐藏,1隐藏
├─ dependSites object 非必须 依赖站点配置,依赖站点功能需要配置泛域名的授信证书才能开启
├─├─ enable number 非必须 0 是否启用,0禁用,1启用
├─├─ panDomain string 非必须 泛域名
├─├─ siteList object[] 非必须 依赖站点
├─├─├─ appAddress string 非必须 后端地址
├─├─├─ accessAddress string 非必须 前端访问地址
├─ paths string [] 必须 URL路径规则 item 类型: string
├─ pathType number 必须 URL路径规则类型, 0白名单,1黑名单
├─ pathStatus number 必须 URL路径规则启用状态, 0禁用,1启用
├─ security object 非必须 应用安全配置
├─├─ watermark object 非必须 水印配置
├─├─├─ enable number 非必须 是否启用,0禁用,1启用
├─ openModel object 非必须 打开方式(仅用于配置windows平台的浏览器打开方式) 2.3.10版本后不建议再使用该字段,请使用后文所述的openModel字段。如果两者共存,以后文的openModel配置为准
├─├─ model string 非必须 default-browser 方式,有如下几种值:
1. default-browser(默认浏览器)
2. custom-browser(自定义浏览器)
mock: default-browser
├─├─ programName string 非必须 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 programName 列
├─├─ processName string 非必须 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 processName 列
├─├─ issuerName array 非必须 签名者名称,如果填写了programName,则需要填写此项,每种浏览器对应的签名者名称参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 issuerName 列
├─├─ originalFilename string 非必须 原始文件名,如果填写了programName,则需要填写此项,每种浏览器对应的原始文件名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 originalFilename 列
├─├─ useDefaultBrowser number 非必须 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许
ssoConfig object 非必须 单点登录配置, 不建议通过openAPI进行配置
├─ enable boolean 非必须 不建议通过openAPI进行配置,请直接传false mock: false
openModel object 非必须 打开方式(新版,适用于2.3.10之后的版本) 定义用户在工作台点击应用时的效果
├─ platform object 非必须 不同平台的打开方式
├─├─ windows object 非必须 Windows平台的打开方式 不传时,用户在客户端工作台点击应用将会使用默认浏览器拉起
├─├─├─ model string 非必须 default-browser 方式,有如下几种值:
1. default-browser(默认浏览器)
2. custom-browser(自定义浏览器)
mock: default-browser
├─├─├─ browser object 非必须 打开方式为"default-browser"或"custom-browser"时的详细配置
├─├─├─├─ programName string 非必须 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 programName 列
├─├─├─├─ processName string 非必须 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 processName 列
├─├─├─├─ issuerName string 非必须 签名者名称,如果填写了programName,则需要填写此项,每种浏览器对应的签名者名称参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 issuerName 列
├─├─├─├─ originalFilename string 非必须 原始文件名,如果填写了programName,则需要填写此项,每种浏览器对应的原始文件名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 originalFilename 列
├─├─├─├─ useDefaultBrowser number 非必须 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许
├─├─├─├─ enableExecArgs number 非必须 是否在打开时携带额外启动参数 仅当model为"custom-browser"时有效
├─├─├─├─ execArgs string[] 非必须 额外启动参数列表
├─├─├─├─ hint object 非必须 未找到浏览器时的提示语 仅当useDefaultBrowser为0时才会显示提示语
├─├─├─├─├─ zh-cn string 非必须 中文提示语
├─├─├─├─├─ en-us string 非必须 英文提示语
├─├─ mac object 非必须 MacOS平台的打开方式 子对象结构和字段定义与Windows平台的打开方式完全相同,以下省略。不传时,用户在客户端工作台点击应用将会使用默认浏览器拉起
├─├─ linux object 非必须 Linux平台的打开方式 不传时,用户在客户端工作台点击应用将会使用默认浏览器拉起
├─├─├─ model string 非必须 default-browser 方式,有如下几种值:
1. default-browser(默认浏览器)
2. custom-browser(自定义浏览器)
mock: default-browser
├─├─├─ browser object 非必须 打开方式为"default-browser"或"custom-browser"时的详细配置
├─├─├─├─ useDefaultBrowser number 非必须 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许
├─├─├─├─ hint object 非必须 未找到浏览器时的提示语 仅当useDefaultBrowser为0时才会显示提示语。子对象结构和字段定义与Windows平台的hint字段完全相同,以下省略
├─├─├─├─ uos object 非必须 UOS子平台的浏览器打开方式配置
├─├─├─├─├─ programName string 非必须 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录3:打开方式中浏览器信息对应表-Linux》中的 programName 列
├─├─├─├─├─ processName string 非必须 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录3:打开方式中浏览器信息对应表-Linux》 中的 processName 列
├─├─├─├─ kylin object 非必须 麒麟子平台的浏览器打开方式配置 子对象结构和字段定义与UOS子平台完全相同,以下省略
├─├─├─├─ ubuntu object 非必须 Ubuntu子平台的浏览器打开方式配置 子对象结构和字段定义与UOS子平台完全相同,以下省略
pathListLimit number 非必须 0 是否启用url发布
webConf object 非必须 {} web应用相关配置
├─passReqHost number 非必须 1 启用负载均衡时,往往需要将前端域名作为host头部传到上游,实现透明代理。
├─ loadBalance object 非必须 {} 负载均衡配置
├─├─ enable number 非必须 0 是否启用负载均衡
├─├─ protocol string 非必须 负载均衡的后端服务器地址协议,包括https或者http
├─├─ nodeList object[] 非必须 负载均衡多个后台服务器地址列表
├─├─├─ addr string 非必须 都在均衡模式下,后台服务器地址,注意不能填写协议头,如192.168.0.1:443
├─├─ type string 非必须 负载均衡算法,包含ip源地址hash,轮询,头部属性hash,cookie属性哈希,分别是ipHash,rr,headerHash,cookieHash,其中头部、cookie属性hash还需要配置key,指定一个hash的属性。
├─├─ key string 非必须 负载均衡算法选择头部属性、cookie属性hash时指定的hash属性。
├─├─ healthCheck object 非必须 负载均衡健康检查
├─├─├─ enable number 非必须 0 是否启用健康检查
├─├─├─ active object 非必须 主动健康检查配置
├─├─├─ type string 非必须 tcp 健康检查协议,支持tcp和http
├─├─├─ timeout number 非必须 10 健康检查超时时间,支持1-3600秒
├─├─├─ httpPath string 非必须 / 健康检查的http接口url,当type为http时生效且必填
├─├─├─ healthy object 非必须 健康节点相关配置
├─├─├─├─ interval number 非必须 10 健康节点的检查间隔,支持1-3600秒
├─├─├─├─ httpsStatuses number[] 非必须 [200,302] 健康节点返回的httpcode,当type为http时生效
├─├─├─├─ successes number 非必须 3 健康判定次数,支持1-50次
├─├─├─ unhealthy object 非必须 故障节点相关配置
├─├─├─├─ interval number 非必须 10 故障节点的检查间隔,支持1-3600秒
├─├─├─├─ failures number 非必须 3 故障判定次数,支持1-50次
├─ pathList object[] 非必须 url细粒度发布配置,可以发布域名下的指定路径。
├─├─ path string 非必须 路径支持"*"通配符在结尾,进行模糊匹配;不带"*"时是精确匹配模式。
├─├─ desc string 非必须 发布路径的备注,建议填写发布路径的初衷,方便后续维护
├─excludePathStatus number 非必须 0 是否启用url发布排除路径,启用后可以在发布路径中排除部分路径
├─excludePathList object[] 非必须 url发布排除路径列表
├─├─ path string 非必须 路径支持"*"通配符在结尾,进行模糊匹配;不带"*"时是精确匹配模式。需要保证排除路径是已经发布的pathList中路径的字路径。
├─├─ desc string 非必须 排除路径的备注,建议填写排除路径的初衷,方便后续维护  

请求示例

{
    "accessModel": "WEB",
    "subModel": "WEB",
    "appAddress": "https://www.cnki.net",
    "enableGm": 0,
    "trustedCertName": "内置web应用证书(国际密码标准)",
    "status": 1,
    "name": "知网",
    "description": "",
    "accessAddress": "https://webapp.cnki.net",
    "accessEntry": "https://webapp.cnki.net/",
    "groupName": "默认分类",
    "iconId": "1",
    "nodeGroupId": "162a5d3c-2266-4643-9c50-c5e619fa7e6e",
    "allowApply": 0,
    "pathListLimit": 1,
    "ext": {
        "hide": 0
    },
    "openModel": {
        "enabled": 1,
        "platform": {
            "windows": {
                "model": "custom-browser",
                "browser": {
                    "hint": {
                        "zh-cn": "此应用需要通过\"360ChromeX.exe\"浏览器使用\n请下载并安装此浏览器",
                        "en-us": "This application needs to be opened using 360ChromeX.exe browser.\n                            \nPlease download and install this browser."
                    },
                    "useDefaultBrowser": 0,
                    "programName": "360极速浏览器X",
                    "processName": "360ChromeX.exe",
                    "issuerName": [
                        "Beijing Qihu Technology Co., Ltd."
                    ],
                    "originalFilename": "360chromex.exe",
                    "enableExecArgs": 1,
                    "execArgs": [
                        "--no-cert-wan"
                    ]
                }
            },
            "linux": {
                "model": "custom-browser",
                "browser": {
                    "hint": {
                        "en-us": "Please download and install the corresponding browser according to your system.\nUOS: Install 奇安信浏览器\nKylin: Install 龙芯浏览器",
                        "zh-cn": "请根据系统下载并安装对应浏览器\nUOS系统:安装奇安信浏览器\n麒麟系统:安装龙芯浏览器"
                    },
                    "useDefaultBrowser": 1,
                    "ubuntu": {
                        "issuerName": [],
                        "processName": "",
                        "programName": "",
                        "originalFilename": ""
                    },
                    "uos": {
                        "issuerName": [
                            ""
                        ],
                        "processName": "奇安信可信浏览器",
                        "programName": "奇安信浏览器",
                        "originalFilename": ""
                    },
                    "kylin": {
                        "issuerName": [
                            ""
                        ],
                        "processName": "龙芯浏览器",
                        "programName": "龙芯浏览器",
                        "originalFilename": ""
                    }
                }
            },
            "mac": {
                "model": "custom-browser",
                "browser": {
                    "hint": {
                        "en-us": "This application needs to be opened using Safari.app browser.\n                            \nPlease download and install this browser.",
                        "zh-cn": "此应用需要通过\"Safari.app\"浏览器使用\n请下载并安装此浏览器"
                    },
                    "useDefaultBrowser": 1,
                    "programName": "Safari",
                    "processName": "Safari.app",
                    "issuerName": [
                        "Software Signing",
                        "Apple Code Signing Certification Authority"
                    ],
                    "originalFilename": "Safari.app",
                    "enableExecArgs": 0,
                    "execArgs": []
                }
            }
        }
    },
    "applyForInfo": {
        "content": "您当前没有访问该应用的权限,如需访问请联系管理员",
        "accessReason": [
            "我因为所属组织架构原因需要访问该应用",
            "我因为岗位职责原因需要访问该应用",
            "我因为个人特殊原因需要访问该应用"
        ]
    },
    "webConf": {
        "passReqHost": 1,
        "loadBalance": {
            "enable": 0,
            "nodeList": [
                {
                    "addr": "www.cnki.net"
                },{
                    "addr": "www.cnki1.net"
                }
            ],
            "protocol": "https",
            "type": "ipHash",
            "key": "",
            "healthCheck": {
                "enable": 0,
                "active": {
                    "type": "tcp",
                    "timeout": 10,
                    "httpPath": "/",
                    "healthy": {
                        "interval": 10,
                        "httpStatuses": [200,302],
                        "successes": 3
                    },
                    "unhealthy": {
                        "interval": 10,
                        "failures": 3
                    }
                }
            }
        },
        "pathList": [
            {
                "path": "/",
                "desc": ""
            }
        ],
        "excludePathStatus": 1,
        "excludePathList": [
            {
                "path": "/admin/*",
                "desc": "admin页面不允许访问"
            }
        ]
    }
}

返回数据

名称 类型 是否必须 默认值 备注 其他信息
code number 必须 错误码
data object 必须 数据字段
├─ id string 必须 新建应用的ID
msg string 必须 描述信息  

错误信息

错误提示 错误码
参数检查出错 10000001
WEB全网应用特性已%s,当前操作不允许执行,请刷新后重试 10000001
subModel 与 accessModel 不匹配,需要是 %s 之一 10000001
一个服务器地址只能对应一个访问地址,请先禁用或删除已存在的应用,再匹配新的服务器地址或访问地址 77200010
主站点前端地址或别名与依赖站点前端地址或别名冲突 10000001
依赖站点(%s)同时存在当前应用和应用(%s)配置中,为避免冲突建议将此子站点配置为独立应用 77200010
保存失败,应用单点登录配置有误 10000001
前端地址别名必须是url格式,如:https://192.168.1.1:443 77200010
前端访问地址不能为空 10000001
前端访问地址与客户端接入地址冲突 77200018
前端访问地址端口与证书认证端口冲突 77200018
单个主站点的依赖站点数量超过最大个数限制 10000001
单点登录设置中界面控件名称存在冲突 10000001
名称不能为空 10000001
地址列表超过最大个数限制 10000001
地址格式非法,开启域名排除地址特性时,隧道泛域名服务器地址最多只能有1个 * 且只能出现在首位 10000001
应用分类不存在 77200001
应用名(%s)已存在 77200005
应用图标不存在,请检查应用图标ID 10000001
应用地址:(%s)格式错误,请输入如:192.168.1.1,192.168.1.1/24,192.168.1.1-192.168.1.10,www.xxx.com 77200010
应用总数已达上限,无法继续新增 77200007
当前保存的泛域名与数据库中的记录不匹配,请返回上一级再尝试编辑 10000001
当前未配置WEB全网应用,请先配置WEB全网应用 10000001
当只改写不监听前端地址时,必须有前端地址别名 10000001
所有的服务器地址均被排除 77200010
授信证书不能为空 10000001
排除后生成的服务器地址数为:%s 超过限制:%s! 77200041
排除地址 %s %s:%s 范围大于服务器地址 77200040
排除地址 %s 不在已配置的服务器地址中 77200040
排除地址不能为域名 10000001
服务器地址必须是url格式,如:https://192.168.1.1:443 77200010
根据排除地址生成的应用地址数量超过限制 77200041
格式错误,请输入如:192.168.1.1,192.168.1.1/24,192.168.1.1-192.168.1.10,www.xxx.com 77200010
格式错误,请输入如:443,1-65535 77200010
此主站点存在多个前端地址相同的依赖站点 77200010
此主站点存在重复的依赖站点 77200010
泛域名应用前端访问地址不允许包含'.' 10000001
泛域名长度不能超过%s个字符,否则将无法同步更新泛域名应用 10000001
登录界面地址的协议、主机名及端口需与该应用后端服务器地址保持一致 10000001
端口(%s)格式错误,请输入如:443,1-65535 77200010
网络区域不存在 10000001
自定义请求头部改写地址必须为后端服务器地址或任一别名地址 10000001
节点区域不存在 77200001
访问地址别名必须是url格式,如:https://192.168.1.1:443 77200010
访问地址必须是url格式,如:https://192.168.1.1:443 77200010
访问理由不能为空 10000001
证书解析失败,强制导入后,将修改为内置web应用证书 10000001
该应用的依赖站点(%s)和其他应用的前端地址存在冲突 77200010
该应用的依赖站点(%s)和应用(%s)的前端地址存在冲突 77200010
该应用的前端访问地址与依赖站点地址存在冲突 77200010
该应用的前端访问地址与应用(%s)的依赖站点存在冲突 77200010
该应用的后端访问地址与依赖站点地址存在冲突 77200010
选择的授信证书不存在 10000001
隧道应用排除地址范围大于应用地址 77200040
隧道应用服务器地址非法 10000001

附录1:打开方式中浏览器信息对应表-Windows

浏览器名称(programName) 进程名(processName) 签名者名称(issuerName) 原始文件名(originalFilename) 备注 其他信息
Google Chrome(谷歌浏览器) chrome.exe Google LLC chrome.exe
Internet Explorer(IE浏览器) iexplore.exe Microsoft Corporation IEXPLORE.EXE
360安全浏览器 360se.exe Beijing Qihu Technology Co., Ltd. 360se.exe
360极速浏览器 360chrome.exe Beijing Qihu Technology Co., Ltd. 360chrome.exe
Firefox(火狐浏览器) firefox.exe Mozilla Corporation firefox.exe
Microsoft Edge msedge.exe Microsoft Corporation msedge.exe
QQ浏览器 QQBrowser.exe Tencent Technology(Shenzhen) Company Limited QQBrowser.exe
搜狗浏览器 SogouExplorer.exe Beijing Sogou Technology Development Co., Ltd. 该浏览器不存在原始文件名  

附录2:打开方式中浏览器信息对应表-MacOS

浏览器名称(programName) 进程名(processName) 签名者名称(issuerName) 原始文件名(originalFilename) 备注 其他信息
谷歌浏览器 Google Chrome.app Google LLC Google Chrome.app
Safari Safari.app Apple Code Signing Certification Authority Safari.app
火狐浏览器 Firefox.app Mozilla Corporation Firefox.app
360浏览器 360Chrome.app Beijing Qihoo Technology Co Ltd 360Chrome.app
Microsoft Edge Microsoft Edge.app Microsoft Corporation Microsoft Edge.app
QQ浏览器 QQBrowser.app Tencent Technology (Shenzhen) Company Limited QQBrowser.app
Opera浏览器 Opera.app Opera Software AS Opera.app  

附录3:打开方式中浏览器信息对应列表-Linux

浏览器名称(programName) 进程名(processName) 备注 其他信息
UOS浏览器 浏览器 仅支持UOS子平台
火狐浏览器 Firefox 网络浏览器
龙芯浏览器 龙芯浏览器 不支持Ubuntu子平台
奇安信浏览器 奇安信可信浏览器
360浏览器 360安全浏览器
谷歌浏览器 Google Chrome
红莲花浏览器 红莲花安全浏览器  

附录4:打开方式支持的系统应用名称表-Windows

程序名称(programName) 代表的实际程序 备注 其他信息
remoteDesktop 远程桌面
file 文件资源管理器  
深信服科技 all right reserved,powered by Gitbook本文档更新于: 2024-05-18 14:38

results matching ""

    No results matching ""