# 服务器设置

来源快照：`result_data_new_260518.json`

- 来源 ID：`1232149168714833961`
- 模块：用户终端
- 目录：后台维护
- space ID：`1159134935186833447`
- 原文链接：未提供
- 产品基线：未提供

## 正文

# 一、功能背景

随着移动互联网的发展，移动办公已成为各组织的刚需。但将组织内网系统直接暴露端口到互联网，会面临极大的系统安全挑战。通过零信任或VPN等安全接入软件接入内网、访问内网系统，已逐渐成为公网访问内网办公系统的重要安全防护手段。然而，用户需先打开零信任或VPN APP，再访问登录办公APP，反复输入多个地址及账号密码，体验较差。因此，泛微易秒办（eMobile10）与深信服零信任（VPN）进行了深度集成，可快速配置实现深信服零信任（VPN）与泛微易秒办（eMobile10）手机APP的统一登录。

# 二、功能价值

1.

通过服务端配置，APP可一次性获取E10与VPN的环境信息，省去用户手动输入环境信息的繁琐过程，提升VPN功能的可用性。

2.

登录VPN的同时无感自动登录OA系统，优化重复登录流程，提升产品登录体验，降低用户APP学习与使用成本。

# 三、业务流程图

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232154438744047619&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图1 通过组织编码登录

流程说明：APP输入组织编码→泛微云服务返回环境信息→APP发起VPN登录→VPN服务进行登录校验→验证成功后VPN登录成功→同步完成E10登录成功。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232154546094628874&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图2 通过外网服务接口登录

流程说明：APP输入外网地址→客户外网服务返回环境信息→APP发起VPN登录→VPN服务进行登录校验→验证成功后VPN登录成功→同步完成E10登录成功。

# 四、功能概述及使用说明

只需完成以下两项工作，即可完成本功能的部署配置：

**注意** ：以下配置仅支持标准登录页面（支持配置Logo）+ 账号密码登录验证的场景；若对登录页面和登录认证方式有其他个性化需求，需定制开发登录页面及相关登录认证方式。

## 4.1 环境信息的获取与配置

### 4.1.1 APP获取客户环境信息的原因

APP登录时先获取VPN登录地址与E10服务地址等信息，用户在后续登录过程中无需重复输入地址及相关信息，大幅减少手动操作步骤。

### 4.1.2 APP获取环境信息的两种模式

#### 方式一：通过输入泛微云端注册的【组织编码】获取

客户按泛微要求提供环境信息（含登录页面、VPN服务地址、泛微APP服务地址等），注册至泛微云端服务后，获取唯一【组织编码】。

用户在APP输入组织编码，APP调用泛微云服务接口，获取相关配置信息并生成统一登录页面。

该方式依赖泛微云端服务，且登录页面功能相对固定。

#### 方式二：通过客户自行部署的【外网服务】获取

客户按泛微规范部署可公网访问的服务，在该服务上发布APP登录所需的环境信息（含登录页面、VPN服务地址、泛微APP服务地址等）。

用户在APP输入该公网服务地址，APP请求该服务获取相关配置信息并生成统一登录页面。

该方式灵活性更高，可定制实现各类个性化登录页面及登录认证功能。

可根据客户实际情况，选择任意一种方式按以下说明部署。

### 4.1.3 通过【组织编码】获取环境信息的配置说明

客户需提供以下信息，提交后由泛微配置至泛微云服务系统，APP输入组织编码即可获取环境信息完成登录。

**字段**| **说明**  
---|---  
组织代码| 客户登录输入标识，可自行定义，例如：weaver  
E10登录地址| E10系统的登录地址  
VPN登录地址| 深信服VPN的登录地址  
认证域| VPN登录的认证域  
  
![](https://weapp.eteams.cn/papi/file/preview?fileId=1232154889711599628&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图3 APP组织代码登录界面

### 4.1.4 通过独立部署外网服务获取环境信息的配置说明

#### （1）通过E10系统后台设置环境信息

环境信息设置入口：【后台管理中心】--【终端设置】--【服务器设置】，具体界面见图4。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232158802439208962&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图4 服务器设置界面

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232158866745376775&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图5 新建服务器信息配置界面

**字段**| **说明**  
---|---  
组织名称| 数据名称描述  
组织代码| 客户登录APP时输入的地址（客户登录VPN前无法与E10服务交互，需单独提供可公网访问的地址以获取VPN登录信息，例如：[https://weapp.login.cn，见图6）](https://weapp.login.cn，见图6）)  
服务器地址| 客户真实的E10登录地址  
VPN登录地址| 深信服VPN的登录地址  
认证域| VPN登录认证域（后续将在深信服配置中详细介绍）  
登录加密| VPN登录时传递用户名、密码的加密方式，默认采用RSA，公钥需从E10【后台管理中心】--【基础设置】--【系统级设置】--【账号安全类】中获取，见图7。  
  
![](https://weapp.eteams.cn/papi/file/preview?fileId=1232155181791731715&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图6 输入外网可访问的接口地址界面

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232158939832205318&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图7 RSA公钥获取界面

#### （2）将设置好的环境信息发布至互联网

可选择以下两种方式之一，将环境配置信息发布至公网：

##### 方式一：通过NGINX转发请求到E10接口

通过Nginx将/papi/app/em/base/getUrlInfo接口反向代理至公网，Nginx配置参考如下：
    
    
    http {
    upstream emobile10 {
            server E10服务地址; # 修改点1：例如192.168.0.1:20600
    }
    server {
        listen 80; # 修改点2：将80替换为实际映射至外网的端口
        server_name localhost;  # 修改点3：将localhost替换为外网服务的域名或IP
        location  /papi/app/em/base/getUrlInfo {
                proxy_pass  http://emobile10;
                proxy_redirect   http:// $scheme://;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         }
    }
    }

##### 方式二：将接口直接部署到NGINX服务

导出E10后台配置的环境信息，具体操作见图8。

将导出的环境信息放置在Nginx服务器对应的磁盘目录中（即下文Nginx配置中set $file_root指定的目录）。

按以下Nginx参考配置完成设置。

配置验证：访问Nginx公网地址/papi/app/em/base/getUrlInfo，应返回与访问E10地址/papi/app/em/base/getUrlInfo相同的信息。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232158991410946062&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图8 导出环境信息配置界面
    
    
    server {
        listen 80; # 修改点1：将80替换为实际映射至外网的端口
        server_name localhost;  # 修改点2：将localhost替换为外网服务的域名或IP
        set $file_root /path/to/your/files;  # 修改点3：替换为存放urlInfo.json文件的实际物理路径，例如文件路径为/usr/emp/files/urlInfo.json，则替换为/usr/emp/files
        location = /papi/app/em/base/getUrlInfo {
            # 严格匹配移动端User-Agent
            if ($http_user_agent ~* (mobile|android|iphone|ipad|ipod|windows phone)) {
                root $file_root;
                try_files /urlInfo.json =404;  # 查找同级目录下的urlInfo.json
                add_header Content-Type application/json;  # 正确的JSON类型头
                expires 10m;  # 适当设置缓存时间
            }
            # 非移动端访问返回403
            return 403;
        }
        # 2. 访问图片路径返回对应图片
        location ~ ^/papi/file/remotedownload/([^/]+)/upload/true$ {
            root $file_root;
            # 正则捕获文件名，尝试读取对应文件
            try_files /$1 =404;
            
            # 自动识别常见图片类型（比固定类型更灵活）
            if ($request_filename ~* .*\.(jpg|jpeg)$) {
                add_header Content-Type image/jpeg;
            }
            if ($request_filename ~* .*\.(png)$) {
                add_header Content-Type image/png;
            }
            if ($request_filename ~* .*\.(gif)$) {
                add_header Content-Type image/gif;
            }
            expires 1d;  # 图片设置较长缓存
        }
    }

## 4.2 深信服VPN配置

### 4.2.1 访问深信服管理后台

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159077089722375&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图9 深信服管理后台登录界面

### 4.2.2 认证服务器管理

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159120182902799&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图10 认证管理界面

### 4.2.3 新建认证管理

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159163027898368&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图11 新建认证管理界面

关键配置说明：

客户认证域：例如vpnauth1，见图12。

请求地址：客户E10访问地址+/papi/passport/thirdlogin/emVpnLoginCheck，见图13。

请求体：{"emLoginData":"{{user.userPassword}}"}，见图14。

响应解析格式：JSON，见图15。

响应参数：data→扩展字段、code→错误码、msg→错误信息，见图15。

响应认证成功条件：code等于200，见图15。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159218904416262&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图12 认证域配置界面

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159291983159302&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图13 验证接口配置界面

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159343374581770&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图14 请求体设置界面

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159386419642373&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图15 验证接口响应配置界面

#### 新增管理用户目录

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159429475254292&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图16 新建用户目录界面

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159489399095307&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图17 新建用户目录详细设置界面

#### 关联授权应用：选择默认分类

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159541013299209&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图18 关联授权应用界面

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159584056147985&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图19 新建应用入口界面

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232159618264891396&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图20 新建应用配置界面

# 五、注意点及常见问题

### 问1：EMobile10-APP支持哪些深信服VPN版本？

答1：深信服SSL VPN服务：要求7.6.7及以上版本；深信服零信任服务：要求2.1.5及以上版本。

### 问2：若使用外网接口服务，APP输入的登录地址与E10实际登录地址能否使用同一个域名？

答2：不能。若使用同一个域名，外网DNS会将域名解析至外网IP；连接VPN后，需访问该域名对应的内网IP，同一域名会导致连接VPN后访问E10服务异常。

### 问3：APP VPN登录报EMM授权无效怎么办？

答3：该问题通常出现在使用深信服SSL VPN服务的场景，客户需采购EMM基础版授权、EMM标准版授权或EMM高级版授权。
