HTTP Server

简介: HTTP Server

前言

Emqx v4.x 版本,使用外部 httpACL 访问控制是通过插件的形式来实现的。到了 v5.x 的版本,将其内置了,并且将连接认证和授权区分开来,拆分成访问控制——> 认证访问控制——>授权两个部分。


配置

打开 18083 后台管理页面,选择左侧菜单访问控制——>授权,点击右上角的 创建 按钮,数据源选择 HTTP Server

选择数据源.png


点击下一步按钮,开始配置 HTTP Server 的参数。 HTTP 的请求方式最好使用POST ,其余配置很简单,见文知意,这里主要介绍 Body 配置。默认的 Body 配置如下所示:

{
  "username": "${username}"
}点击复制复制失败已复制


其中 ${username} 为插值内容,所有可选的插值如下所示:

插值 字段 含义
${clientid} clientid mqtt 客户端连接 emqx 时填写的 clientid 内容
${username} 用户名 mqtt 客户端连接 emqx 时填写的 username 内容
${peerhost} 客户端的源 IP 地址
${mountpoint} 网关监听器的挂载点(主题前缀) 还没搞明白,拿到的都是空字符串
${topic} mqtt主题 当前请求想要发布或订阅的主题(或主题过滤器
${action} 当前执行的动作请求 publishsubscribe


在授权判定的时候,选择需要的字段都发送给授权服务,全部字段的 Body 配置如下所示:

{
  "clientid": "${clientid}",
  "username": "${username}",
  "peerhost": "${peerhost}",
  "mountpoint": "${mountpoint}",
  "topic": "${topic}",
  "action": "${action}"
}点击复制复制失败已复制


服务器处理

如果授权成功,那么 HTTP 的返回状态码一定200204其余状态码均认为是认证失败


其中,如果状态码是 204 ,则表示允许此次发布/订阅请求,不去验证返回内容。如果状态码是 200 ,则去验证返回内容,返回内容必须是 json 格式,里面只有一个字段: result ,其可选值如下所示:

可选值 含义
allow 允许此次发布/订阅
deny 拒绝此次发布/订阅
ignore 忽略本次请求,把它移交给下一个 Authorizer 处理
目录
相关文章
|
7月前
|
应用服务中间件 nginx
百度搜索:蓝易云【HTTP请求是如何关联Nginx server{}块的?】
总结来说,Nginx中的 `server{}`块用于关联HTTP请求和虚拟主机,通过配置不同的 `server{}`块,可以实现多个域名或IP地址的请求分发和处理。这样,Nginx可以根据不同的请求来提供不同的服务和内容。
72 0
|
Unix Go
Golang 语言中怎么拦截系统信号和优雅退出 http server?
Golang 语言中怎么拦截系统信号和优雅退出 http server?
91 0
|
1月前
|
监控 开发者 Perl
perl use HTTP::Server::Simple 轻量级 http server
使用 **HTTP::Server::Simple** 模块,Perl 开发者可以快速创建和配置一个轻量级的HTTP服务器。通过继承和扩展 `handle_request` 方法,可以实现复杂的请求处理逻辑。结合日志记录功能,可以更好地监控服务器运行情况。无论是用于开发测试还是简单的生产环境应用,这种轻量级解决方案都能提供很好的支持。
46 2
|
4月前
|
缓存 运维 Serverless
函数计算产品使用问题之怎么优化HTTP Server的启动速度
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4月前
|
Python
【Azure 应用服务】Azure Function HTTP Trigger 遇见奇妙的500 Internal Server Error: Failed to forward request to http://169.254.130.x
【Azure 应用服务】Azure Function HTTP Trigger 遇见奇妙的500 Internal Server Error: Failed to forward request to http://169.254.130.x
|
6月前
|
网络协议 PHP
Swoole 源码分析之 Http Server 模块
想要了解到 `Http Server` 的全貌,其实只要把那张整体的实现图看懂就足以了。但是,如果想要有足够的深度,那么就还需要深入 `Swoole` 的源代码中,就着源码自行分析一遍。同时,也希望这一次的分析,能够给大家带来对 `Swoole` 更多的一些了解。并不要求要深刻的掌握,因为,很多的事情都不可能一蹴而就。从自己的实力出发,勿忘初心。
86 0
Swoole 源码分析之 Http Server 模块
|
6月前
|
小程序
Failed to load local image resource Xx the server responded with a status of of 500 (HTTP/1.1 500)
Failed to load local image resource Xx the server responded with a status of of 500 (HTTP/1.1 500)
160 4
|
7月前
|
开发框架 .NET 数据库连接
解决HTTP错误500.19 - internal server error -内部服务器错误的终极指南
解决HTTP错误500.19 - internal server error -内部服务器错误的终极指南
2799 0
|
7月前
|
应用服务中间件 网络安全 nginx
Client sent an HTTP request to an HTTPS server
Client sent an HTTP request to an HTTPS server
1156 0
|
7月前
|
存储 网络安全 数据安全/隐私保护
Windows Server 2019 IIS HTTPS证书部署流程详解
Windows Server 2019 IIS HTTPS证书部署流程详解
631 0

热门文章

最新文章