美文网首页
2020-12-13 局域网中部署带https的thingsbo

2020-12-13 局域网中部署带https的thingsbo

作者: 冰火混合物 | 来源:发表于2020-12-16 02:41 被阅读0次

基本步骤

首先采用mkcert生成证书
然后部署timescaledb
最后在局域网中部署

文件夹设置

sudo mkdir -pv /data/thingsboard/mytb-data
sudo mkdir -pv /data/thingsboard/mytb-logs
sudo mkdir -pv /data/thingsboard/keys
cd /data/thingsboard
sudo chown -R 799:799 mytb-data
sudo chown -R  799:799 mytb-logs
sudo chown -R 799:799 keys

mkcert生成证书

参考:https://github.com/FiloSottile/mkcert

cd $HOME/Downloads
sudo apt install libnss3-tools #必要依赖
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64 -O mkcert
chmod a+x mkcert
sudo mv mkcert /usr/local/bin/
mkcert -CAROOT # 显示当前用户的CAROOT安装目录
mkcert -install # 安装CA证书
# 下载CA证书到客户端浏览器
mkcert -p12-file server.p12 -pkcs12  localhost 127.0.0.1 ::1 10.168.2.155  #生成java程序所需的p12文件
sudo cp server.p12 /data/thingsboard/keys
sudo chown -R 799:799 /data/thingsboard/keys

pull docker镜像

docker pull thingsboard/tb #不需要postgres版本

运行thingsboard

运行thingsbaord需要几个设置

  1. timescaledb数据库
    建议通过--link制定host的名字,必须知道用户名、密码和端口,并进行设置
  2. 通过mkcert生成的证书,这样才可以以https方式访问
  3. 映射好目录,并确认799的owner和group权限;
# 去掉\后的注释才能正常运行!
sudo docker run -d --name tb \
--link timescaledb:timescaledb \ # 已经运行的timescaledb服务器
-p 8080:9090 \ # 端口映射
-p 1883:1883 \
-p 5683:5683/udp \
-e SSL_ENABLED=TRUE \ #启用https
-e SSL_KEY_STORE=/keys/server.p12 \ # key的位置,默认是classpath中,实际上classpath中是没有keystore文件的
-e SSL_KEY_STORE_PASSWORD=changeit \ # mkcert生成的p12文件的默认密码,可以用keytool更改
-e SSL_KEY_STORE_TYPE=PKCS12 \ # p12文件格式
-e SSL_KEY_ALIAS=1 \ # mkcert生成的p12文件中的别名,tb中默认是tomcat,会提示找不到
-e TB_QUEUE_TYPE=in-memory \ # 默认
-e DATABASE_ENTITIES_TYPE=sql \ # sql类型
-e DATABASE_TS_TYPE=timescale \ # 使用timescaledb 必要的设置
-e DATABASE_TS_LATEST_TYPE=timescale \ # 使用timescaledb 必要的设置
-e SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect \
-e SPRING_DRIVER_CLASS_NAME=org.postgresql.Driver \
-e SPRING_DATASOURCE_URL=jdbc:postgresql://timescaledb:5432/thingsboard \
-e SPRING_DATASOURCE_USERNAME=postgres \
-e SPRING_DATASOURCE_PASSWORD=<密码!> \
-e SPRING_DATASOURCE_MAXIMUM_POOL_SIZE=5 \
-e SQL_TIMESCALE_CHUNK_TIME_INTERVAL=604800000 \ # 1周的毫秒数
-v /data/thingsboard/mytb-data:/data \
-v /data/thingsboard/mytb-logs:/var/log/thingsboard \
-v /data/thingsboard/keys:/keys \
thingsboard/tb 

sudo docker logs -f tb # 查看启动过程

导入CA证书查看

mkcert -CAROOT输出的目录中的的rootCA.pem文件加入到浏览器的信任根证书中,重启浏览器,访问网页即可。

相关文章

  • 2020-12-13 局域网中部署带https的thingsbo

    基本步骤 首先采用mkcert生成证书然后部署timescaledb最后在局域网中部署 文件夹设置 mkcert生...

  • iOS中https部署

    修改plist文件配置 项目中除了网络接口请求需要https验证,什么打开网页啊,加载图片这些都不需要。ATS,每...

  • 服务器

    实现项目服务器上面的部署以及局域网上面的部署。

  • https部署

    对于https部署那是不难,但是我从网上搜索,配置,结果都是出现不行的情况,下面我在这总结几点,让以后部署恩人能少...

  • HTTPS部署

    前言 考虑到HTTP的安全性问题,现在很多网站已经将HTTP升级到了HTTP + SSL(HTTPS)。但也并不是...

  • 12-2

    完善团队签到系统,抛弃原来的局域网部署,改为IP先走访问的以太网部署。分发宝联灯需求。

  • 【win+mac】用局域网内部分享Axure原型

    【 WIN下建立局域网篇】win下如何部署本地文件,部署好后,会用本地地址作为访问地址,如我的地址是http://...

  • LVS-DR之VIP、DIP跨网段实例

    在日常应用环境中,我们会遇到这样一种lvs部署环境,所有的dr以及的rs server都在一个局域网环境中,但只有...

  • 局域网https配置

    局域网环境 linux 服务器(提供局域网web服务) windows 电脑(作为客户端访问局域网内web服务) ...

  • [Docker] Docker 之 GitLab 局域网代码托管

    Docker 之 GitLab 局域网代码托管 部署 拉取镜像docker pull gitlab/gitlab-...

网友评论

      本文标题:2020-12-13 局域网中部署带https的thingsbo

      本文链接:https://www.haomeiwen.com/subject/vukpgktx.html