关键词:O2OA,传输加密,系统安全,HTTPS,SSL

为增加系统和用户的安全性,平台支持启用HTTPS,使用SSL对网络流量进行证书加密传输。本篇主要介绍如何将在O2OA中启用HTTPS

一、证书申请

1.腾讯云购买“0”元ssl证书地址

https://cloud.tencent.com/product/ssl


2.可以选择1年期免费证书


3.需要记住您的私钥密码,后面会用到。


4.证书申请。

申请通过后,把下面的信息发送给你公司的网络工程师。


5.10分钟左右审核通过。

6.下载证书

7.解压后是有多种服务器的证书

解压之后,将Tomcat目录下的xxx.xxx.xxx.jks 拷贝一份 并且修改为keystore,注意没有文件后缀名

8.将keystore文件拷贝到o2server/config目录下。

二、WEB和应用服务器配置,启用https

1、文件位置:o2server/config/node_127.0.0.1.json, 如果目录里没有该文件,可以从o2server/configSample目录里拷贝一个到config目录下。

直接修改o2server/configSample下的node_127.0.0.1.json配置将不会生效。

如下图所示:


复制配置文件

2、修改node_127.0.0.1.json内容:


{
  "enable": true,
  "isPrimaryCenter": true,
  "center": {
    "enable": true,
    "order": 0.0,
    "sslEnable": true,			#启用SSL
    "redeploy": true,
    "port": 20031.0,
    "httpProtocol": "https",
    "proxyHost": "case.o2oa.net",
    "proxyPort": 50030.0,
    "scanInterval": 0.0,
    "configApiEnable": true,
    "statEnable": true,
    "statExclusions": "*.js,*.gif,*.jpg,*.png,*.css,*.ico",
    "maxFormContent": 20.0,
    "###enable": "是否启用###",
    "###order": "center节点顺序,顺序排列0,1,2...###",
    "###sslEnable": "是否启用ssl传输加密,如果启用将使用config/keystore文件作为密钥文件.使用config/token.json文件中的sslKeyStorePassword字段为密钥密码,sslKeyManagerPassword为管理密码.###",
    "###redeploy": "每次启动是否重新部署所有应用.###",
    "###port": "端口,center服务器端口,默认20030###",
    "###httpProtocol": "对外http访问协议,http/https###",
    "###proxyHost": "代理主机,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问地址.###",
    "###proxyPort": "代理端口,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问端口.###",
    "###scanInterval": "重新扫描war包时间间隔(秒)###",
    "###config": "其他参数###",
    "###configApiEnable": "允许通过Api修改config###",
    "###statEnable": "启用统计,默认启用统计.###",
    "###statExclusions": "统计忽略路径,默认忽略*.js,*.gif,*.jpg,*.png,*.css,*.ico###",
    "###maxFormContent": "最大提交数据限制(M),限制有所上传的内容大小,包括附件.###"
  },
  "application": {
    "enable": true,
    "port": 20020.0,
    "sslEnable": true,        #启用SSL
    "proxyHost": "case.o2oa.net",			
    "proxyPort": 50020.0,
    "redeploy": true,
    "scanInterval": 0.0,
    "includes": [],
    "excludes": [],
    "weights": [],
    "scheduleWeights": [],
    "statEnable": true,
    "statExclusions": "*.js,*.gif,*.jpg,*.png,*.css,*.ico",
    "maxFormContent": 20.0,
    "###enable": "是否启用###",
    "###port": "http/https端口,负责向前端提供数据访问接口.默认为20020端口.###",
    "###sslEnable": "是否启用ssl传输加密,如果启用将使用config/keystore文件作为密钥文件.使用config/token.json文件中的sslKeyStorePassword字段为密钥密码,sslKeyManagerPassword为管理密码.###",
    "###proxyHost": "代理主机,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问地址.###",
    "###proxyPort": "代理端口,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问端口.###",
    "###redeploy": "每次启动是否重载全部应用.###",
    "###scanInterval": "应用reload扫描间隔,\u003c0 表示不会reload应用,扫描到应用文件发生了变化.###",
    "###includes": "承载的应用,在集群环境下可以选择仅承载部分应用以降低服务器负载,可以使用*作为通配符.###",
    "###excludes": "选择不承载的应用,和includes的值配合使用可以选择或者排除承载的应用,可以使用*作为通配符.###",
    "###weights": "设置应用的Web访问权重,在集群环境中,一个应用可以部署多个实例提供负载均衡.通过合计占比来分配应用占比.###",
    "###scheduleWeights": "设置应用的定时任务权重,在集群环境中,一个应用可以部署多个实例提供负载均衡.通过合计占比来分配应用占比.###",
    "###statEnable": "启用统计,默认启用统计.###",
    "###statExclusions": "统计忽略路径,默认忽略*.js,*.gif,*.jpg,*.png,*.css,*.ico###",
    "###maxFormContent": "最大提交数据限制(M),限制有所上传的内容大小,包括附件.###"
  },
  "web": {
    "enable": true,
    "sslEnable": true,		#启用SSL
    "proxyHost": "case.o2oa.net",
    "weight": 100.0,
    "dirAllowed": false,
    "statEnable": false,
    "statExclusions": "*.gif,*.jpg,*.png,*.ico",
    "cacheControlMaxAge": 0.0,
    "proxyCenterEnable":false,
	  "proxyApplicationEnable":false,
    "###enable": "是否启用###",
    "###port": "http/https端口,用户输入网址后实际访问的第一个端口.http协议默认为80端口,https默认为443端口.###",
    "###sslEnable": "是否启用ssl传输加密,如果启用将使用config/keystore文件作为密钥文件.使用config/token.json文件中的sslKeyStorePassword字段为密钥密码,sslKeyManagerPassword为管理密码.###",
    "###proxyHost": "代理主机,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问地址.###",
    "###proxyPort": "代理端口,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问端口.###",
    "###weight": "设置权重.当前没有作用,###",
    "###dirAllowed": "允许浏览目录,###",
    "###statEnable": "启用统计,默认启用统计.###",
    "###statExclusions": "统计忽略路径,默认忽略*.gif,*.jpg,*.png,*.ico###",
    "###cacheControlMaxAge": "服务器max-age缓存时间(秒)###",
     "###proxyCenterEnable": "是否启用center服务器代理.###",
    "###proxyApplicationEnable": "是否启用application服务器代理###",
  },
  "data": {
    "enable": false,
    "tcpPort": 20050.0,
    "webPort": 20051.0,
    "includes": [],
    "excludes": [],
    "jmxEnable": false,
    "cacheSize": 512.0,
    "logLevel": "WARN",
    "maxTotal": 50.0,
    "maxIdle": 0.0,
    "statEnable": true,
    "statFilter": "mergeStat",
    "slowSqlMillis": 2000.0,
    "###enable": "是否启用,如果没有可用的externalDataSources.json文件,那么默认会在节点中启用本地的H2数据库作为默认的数据库.###",
    "###tcpPort": "H2数据库jdbc连接端口,登录的用户名:sa,密码为xadmin的密码.数据库创建在/o2server/local/repository/data/X.mv.db,一旦数据库文件被创建,那么该数据库的密码被创建.###",
    "###webPort": "H2数据库web端口,H2提供一个web端的client,此端口为web端client的访问端口.用户名sa,密码为xadmin数据库初始创建的密码.###",
    "###includes": "设置此数据库存储的类,默认情况下存储所有类型,如果需要对每个类进行单独的控制以达到高性能,可以将不同的类存储到不同的节点上提高性能.可以使用通配符*###",
    "###excludes": "在此节点上不存储的类,和includes一起设置实际存储的类,可以使用通配符*###",
    "###jmxEnable": "是否启动jmx,如果启用,可以通过本地的jmx客户端进行访问,不支持远程jmx客户端.###",
    "###cacheSize": "H2数据库缓存大小,设置H2用于作为缓存的内存大小,以M作为单位,这里默认为512M.###",
    "###logLevel": "默认日志级别###",
    "###maxTotal": "最大使用连接数###",
    "###maxIdle": "最大空闲连接数###",
    "###statEnable": "启用统计,默认启用###",
    "###statFilter": "统计方式配置,默认mergeStat###",
    "###slowSqlMillis": "执行缓慢sql毫秒数,默认2000毫秒,执行缓慢的sql将被单独记录.###"
  },
  "storage": {
    "enable": true,
    "port": 20040.0,
    "sslEnable": false,
    "name": "251",
    "accounts": [],
    "prefix": "",
    "deepPath": false,
    "###enable": "是否启用,对于二进制流文件,比如附件,图片等存储在单独的文件服务器中,可以支持多种文件服务器,默认情况下使用ftp服务器作为文件服务器,每个节点可以启动一个文件服务器以提供高性能.###",
    "###port": "ftp服务器端口,此端口可以不对外开放,仅有ApplicationServer进行访问,并不直接对用户提供服务.###",
    "###sslEnable": "是否启用ssl传输加密,如果启用将使用config/keystore文件作为密钥文件.使用config/token.json文件中的sslKeyStorePassword字段为密钥密码,sslKeyManagerPassword为管理密码.###",
    "###name": "名称,多个节点中不能重名,默认为251.###",
    "###accounts": "二进制流文件是分多个账号分段存储的,可以单独设置每个分类的存储配置,一般不需要设置.###",
    "###passivePorts": "ftp传输有主动和被动之分,如果使用了被动传输,设置被动端口范围,默认为29000-30000.###",
    "###prefix": "路径前缀.###",
    "###deepPath": "使用更深的路径###"
  },
  "logLevel": "warn",
###省略部分不相关配置###
}

将配置文件中的web和application对象中的sslEnable设置为true

三、修改token.json配置

文件位置:o2server/config/token.json, 如果目录里没有该文件,可以从o2server/configSample目录里拷贝一个到config目录下。

"sslKeyStorePassword": "1234",

"sslKeyManagerPassword": "1234",

注:这里的1234,就是前面步骤中的私钥密码

四、重启服务器。

五、以HTTPS形式访问系统


注意,如果您的o2oa服务器“前面”还有一台Nginx服务器,那么Nginx需要配置https的内容。

推荐文章:

开发知识-平台中使用Druid数据库连接及监控
2021-04-26
一、o2oa数据库连接及使用原理o2oa使用阿里的druid与数据库进行连接及管控,在平台启动时druid管控了一个共享数据库连接池,默认的最大连接数是100(
快速入门-服务器总体介绍汇总
2021-02-07
一、服务器目录介绍二、服务器组成结构三、服务器所占端口四、微服务API五、服务内置对象(方便二次开发、实现2小时一个流程目标)六、架构图
信息栏目-表单的创建和设置
2021-03-01
O2OA提供的信息管理功能可以帮助用户快速地配置信息发布栏目,如通知公告,公司动态,规章制度等。用户可以高效地完成信息栏目和配置。本文主要介绍如何在O2OA中完
开发知识-Linux非root用户如何使用80端口启动O2OA
2021-02-07
普通用户:whs下载o2server在普通用户自己的目录中创建一个data目录,命令:mkdirdata。进入data目录,下载o2server的zip包。命令
系统配置-开机自动启动O2Server
2021-02-19
O2OA开发平台允许将平台启动设置为跟随操作系统自动启动,这样避免服务器重启后,还需要手工启动O2Server的操作。本篇介绍如何在windows和Linux两
业务开发-组织架构-顶级组织及创建
2021-02-26
O2OA提供多级组织架构设置能力,用户可以在系统内设置集团、分公司、部门、小组等多级企业组织结构来满足办公需要。本文主要介绍如何在O2OA中创建顶组织。
运营商公文使用说明
2021-02-18
O2OA演示环境。它并不是一款传统意义上的OA系统。它是一款以流程管理为核心的全开源全免费的信息化开发平台,完整的代码可以直接在Github和Gitee上下载,
O2OA与SmartBI报表系统集成:二、创建SmartBI报表
2021-11-03
本章节讲解下在SmartBI报表系统中创建两张简单的报表用于在后续的O2OA系统中展示详细的SmartBI系统如何使用可参考官方wiki的教程https://w
考勤管理-新版
2021-09-06
@企业办公系统@考勤管理@开源办公系统@员工考勤@人事考勤O2OA考勤管理提供了一个通用的考勤管理,企业可以使用它实现手机打卡,数据导入,数据分析,数据统计。员
系统配置-第三方数据库配置-MySQL
2021-11-10
@平台配置@O2OA@开源办公系统@第三方数据库@Mysql @外部数据库@国产数据库O2OA开发平台支持第三方数据库,如Mysql,Oracle,SQLSer

results matching ""

    No results matching ""