FMO 3.0服务器更新方法

对于使用本站教程搭建的FMO服务器,可以使用以下方法更新至3.0的验证模式。

1 FMO新凭证获取

更新至3.0后,按下菜单键,旋动旋钮找到“凭证”并短按旋钮进入,按照提示长按旋钮会显示新版的凭证,保持在该页面:

确保FMO与电脑/手机等设备在同一网络,访问fmo.local或FMO的IP打开FMO网页后台,点击“参数配置”:

往下滑动,找到“服务器密钥”

根据提示,短按一下FMO的旋钮,这里就会显示密钥了:

点击一键复制即可获得JWT密钥,注意一定不要泄露!为方便后续配置可以将它放到一个安全的位置存储。

2 服务器更新操作

A 非集群的独立服务器

登入EMQX网页后台,选择访问控制->客户端认证,点击右上角创建,选择JWT,点击下一步:

注意选择JWT,在Secret里粘贴从FMO获得的JWT密钥,同时设置payload以确保安全性,点击添加,输入以下内容:

ClaimExpected Value
call${username}
cid${clientid}

随后点击下方“创建”按钮即可(位于上图中“更新”的位置);

一切正常的话,客户端认证里会有两个数据源,内置数据库是2.0的验证方式,而JWT是3.0的。此时收藏了2.0版本服务器的用户还可以登录,删除内置数据库或关闭启用开关,就只有3.0的FMO可以登入服务器了。

(我们建议在一段时间后不要保留旧的验证方式以提高服务器安全性)

B 集群服务器

以下操作需要在集群所有服务器上操作。(指N个服务器与N个管理员的集群,若是单管理员多服务器,使用A方法在面板中配置即可)

登陆服务器,打开终端,运行以下命令:

sudo vim /etc/emqx/emqx.conf

显示文件内容后,用方向键移动光标,移动到最后一个字符,按下i键,进入编辑模式。

先按右方向键,再按回车,输入以下内容(将“第一步获得的JWT密钥”替换为第一步获得的32位密钥):

authentication = [
  {
    mechanism = jwt
    from = password
    algorithm = hmac-based
    secret = "第一步获得的JWT密钥"
    secret_base64_encoded = false
    use_jwks = false
    verify_claims {
      call = "${username}"
      cid = "${clientid}"
    }
    acl_claim_name = "acl"
    disconnect_after_expire = true
  }
]

修改好后先按esc键,再输入 :wq! 并回车(即强制保存退出),文件就保存好了。

随后重启服务器:

sudo systemctl restart emqx

服务器重启好后,稍等几分钟再重启FMO,若FMO可以连接服务器并正常广播则说明升级已完成。

注意,集群服务器升级后在访问控制->客户端认证中不显示JWT是正常现象,内置数据库是否保留/启用则决定收藏了服务器的旧版FMO用户能否登入服务器。

当前页面URL: https://tylk.cc/archives/1261
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
颜文字
洛天依9周年
洛天依夜航星
洛天依8周年
上一篇
下一篇