您的位置:首页 > 理论基础 > 计算机网络

O2OA启用HTTPS(SSL)

2020-04-01 19:12 1316 查看

启用HTTPS(SSL)

 

O2OA支持以SSL方式连接WEB服务器,应用服务器以及中心服务器,以获得更高的网络安全性。

一、WEB和应用服务器配置

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

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

如下图所示:

复制配置文件

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

 

{
"enable": true,
"isPrimaryCenter": true,
"application": {
"enable": true,
"port": 20020.0,
"sslEnable": true,         #启用SSL
"proxyHost": "",
"proxyPort": 20020.0,
"redeploy": true,
"scanInterval": 0.0,
"includes": [],
"excludes": [],
"weights": []
},
"web": {
"enable": true,
"sslEnable": true,         #启用SSL
"port": 443,               #修改端口为443
"weight": 100.0
},
"data": {
"enable": true,
"tcpPort": 20050.0,
"webPort": 20051.0,
"includes": [],
"excludes": [],
"jmxEnable": false,
"cacheSize": 512.0
},
"storage": {
"enable": true,
"port": 20040.0,
"sslEnable": false,
"name": "251",
"accounts": []
},
"logLevel": "warn",
"dumpData": {
"cron": "",
"size": 14.0,
"###cron": "定时任务cron表达式###",
"###size": "最大保留分数,超过将自动删除最久的数据.###"
},
"dumpStorage": {
"cron": "",
"size": 14.0,
"###cron": "定时任务cron表达式###",
"###size": "最大保留分数,超过将自动删除最久的数据.###"
},
"restoreData": {
"cron": "",
"date": "",
"###cron": "定时任务cron表达式###",
"###date": "导入数据时间戳,需要在local/dump下有此时间戳的文件.###"
},
"restoreStorage": {
"cron": "",
"date": "",
"###cron": "定时任务cron表达式###",
"###date": "导入数据时间戳,需要在local/dump下有此时间戳的文件.###"
},
......
}

 

将配置文件中的web和application对象中的sslEnable设置为true, web服务器的端口设定为443。

二、中心服务器配置

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

如下图所示:

复制centerServer.json

2、修改centerServer.json内容:

 

{
"sslEnable": true,       #启动SSL
"redeploy": true,
"port": 20030.0,
"httpProtocol": "",
"proxyHost": "",
"proxyPort": 20030.0,
"scanInterval": 0.0,
"###enable": "是否启用###",
"###sslEnable": "是否启用ssl传输加密,如果启用将使用config/keystore文件作为密钥文件.使用config/token.json文件中的sslKeyStorePassword字段为密钥密码,sslKeyManagerPassword为管理密码.###",
"###redeploy": "每次启动是否重新部署所有应用.###",
"###port": "端口,center服务器端口,默认20030###",
"###httpProtocol": "对外http访问协议,http/https###",
"###proxyHost": "代理主机,当服务器是通过apache/eginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问地址.###",
"###proxyPort": "代理端口,当服务器是通过apache/eginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问端口.###",
"###scanInterval": "重新扫描war包时间间隔(秒)###",
"###config": "其他参数###"
}

 

将配置文件中的sslEnable设置为true。

三、网站域名证书申请

百度云目前有免费的SSL域名证书申请:https://cloud.baidu.com/product/ssl.html

点击立即购买,进入购买页面,点击`下一步`完成购买。

 

完成购买后会在已购证书列表中找到买好的证书,然后点击证书申请。

进入一个申请证书的表单页面,这个表单页面主要是填写域名

这里填写的域名一定要和O2OA使用的域名一直,不然证书还是无效的,比如:O2OA服务器域名是oa.xxx.com,不能只填写xxx.com,把你要用https的域名填入进去。

还有下面的公司信息尽量和域名申请的时候的信息一直,加大申请的成功率。

完成这个表单后,需要验证你的域名,还是到已购证书列表, 点击后面的查看申请,就会看到DNS验证的方式。

DNS验证:它会让你去DNS服务商那边配置一个TXT的域名解析,按照它给你的这个名称和设置值到DNS服务商那边配置好。

转存失败重新上传取消

DNS那边配置好后就耐心等待,几分钟后等验证通过。

申请成功后点击查看证书,进入证书详情页面可以下载证书。

下载证书的时候选择倒数第二个jks,还有那个解压密码一定要记住,后面配置文件需要用到。

下载下来的证书名称一般是这样的:`SHA256withRSA_域名.jks` 把这个文件复制到O2OA服务端目录下的config文件夹内,并且改名成`keystore` ,没有后缀的。 还有这个config文件夹内有一个叫token.json的文件,如果没有到configSample目录下复制一个过来,把里面的两个ssl的密码修改成你刚才下载证书时候的解压密码。

四、修改token.json配置

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

"sslKeyStorePassword": "1234",

"sslKeyManagerPassword": "1234",

这里的1234,就是下载证书时候的解压密码

五、重启服务器。

六、以HTTPS形式访问系统

https://127.0.0.1

 

 

 

自签名SSL证书验证HTTPS功能

 

使用openssl创建自签名证书

1.创建根证书私钥以及请求文件:

openssl genrsa -out rootkey.key 1024 openssl req -new -out rootreq.csr -key rootkey.key

2.自签名根证书:

openssl x509 -req -in rootreq.csr -out rootcert.cer -signkey rootkey.key -CAcreateserial -days 3650

3.生成key:

openssl genrsa -out clientkey.key 1024

4.生成请求文件:

openssl req -new -out clientreq.csr -key clientkey.key

5.生成证书:

openssl x509 -req -in clientreq.csr -out clientcert.cer -signkey clientkey.key -CA rootcert.cer -CAkey rootkey.key -CAcreateserial -days 3650

6.生成p12证书:

openssl pkcs12 -export -clcerts -in clientcert.cer -inkey clientkey.key -out keystore

这里我们得到了进行ssl加密所需要的证书文件keystore

 

配置服务器使用ssl

1.将最终生成的keystore文件拷贝至o2server/config目录

2.编辑o2server/config/token.json文件中的

token.json 配置

sslKeyStorePassword: "您设置的密码"

"sslKeyManagerPassword": "您设置的密码"

3.在node配置文件中的application,center,web设置sslEnable:true

4.重启服务器完成配置,使用https进行访问.

  • 点赞
  • 收藏
  • 分享
  • 文章举报
tangxl_99 发布了5 篇原创文章 · 获赞 0 · 访问量 831 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: