- 浏览: 263525 次
- 性别:
- 来自: 北京
最新评论
文章列表
1、插件作用
校验请求参数在URI中的顺序,必须按配置的参数顺序来,否则拒绝访问。
2、核心代码
local function decideUriExists(uri_key,uri_value,uri_param_tab)
local exists = true
local args = ngx.req.get_uri_args()
for i = 1, #uri_key do
local each_key = uri_key[i]
local each_value = uri_value[i]
local http_uri_ ...
1、插件作用
校验请求参数间的关系,支持以下操作类型:
(1)mandatory,表示请求uri中是必须携带的参数
(2)contain,表示两个参数之间是否有包含关系,前者是否包含后者
(3)exist,表示所配置参数必须同时有值
(4)begin,表示请求参数值是否以某个指定值开头
(5)end,表示请求参数值是否以某个指定值结尾
(6)firm,表示请求参数是否为指定的值
2、核心代码
local function decideUriExists(uri_key,uri_value,uri_param_tab,uri_relation_tab)
local exists = t ...
1、Lua官网
http://www.lua.org/manual/5.3/manual.html
2、Lua与Java的比较
3、Lua与LuaJIT比对
http://luajit.org/performance_x86.html
4、Lua语法实战
【syntax】
0> 在 Lua 中,一共只有 9 种数据类型,分别为 nil 、boolean 、lightuserdata 、number 、string 、 tab ...
通过Openresty提取具体URI,代理到指定BackendServer,以解决CORS问题,
一、问题场景
Browser请求https//biz4h5.company.com/xxx/yyy
而biz4h5.company.com要访问前后台分离的后台接口,https//biz4api.company.com/aaa/bbb
如果biz4h5.company.com和biz4api.company.com的解析ip不同,会导致CORS问题,关于CORS
的具体产生,可参考本人另一篇文章。
注意:CORS三要素,protocol,ip,port有一者不同,就会导致CORS
通过 ...
1、先看规范:specification
408 Request Timeout
The 408 (Request Timeout) status code indicates that the server did
not receive a complete request message within the time that it was
prepared to wait. A server SHOULD send the "close" connection option
(Section 6.1 of [RFC7230]) in the response, ...
1、阿里云推流和播流地址生成逻辑
1> 通过 req_auth 请求对象。http://cdn.example.com/video/standard/1K.html
2> 密钥设为:aliyuncdnexp1234(由用户自行设置)。
3> 鉴权配置文件失效日期为:2015年10月10日00:00:00,计算出来的秒数为 1444435200。
4> 服务器会构造一个用于计算 Hashvalue 的签名字符串。/video/standard/1K.html-1444435200-0-0-aliyuncdnexp1234
5> 服务器会根据该签名字符串计算 HashV ...
需要通过原生Spring获取对象的方式,
1、先编写以下工具类SpringBeanUtil.java
package com.cnd.yourcompany.utils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Compone ...
EMQ X关键参数解析
EMQ X版本为【emqx 3.1.0 is started successfully!】
1、参数位置:【<emqx_home>/etc/emqx.conf】
1> zone.external.max_awaiting_rel = 4000
## Maximum QoS2 packets (Client -> Broker) awaiting PUBREL, 0 means no limit.
##
## Value: Number
此参数控制每次连接publish消息到Topic的数量,如果持久订阅者不在线,则消息会先进入到message ...
******************************************
【环境】 emqx v3.1.0
【场景】
客户端发送消息时,消息大小超过1MB时,connection有成功有失败的,延迟一段时间后,提示NPE错误
参见如下:
Exception in thread "hawtdispatch-DEFAULT-3" java.lang.NullPointerException
at org.fusesource.mqtt.client.CallbackConnection$7.run(CallbackConnection.java:450)
at ...
1、EMQ X支持持久化订阅
首先理解下,什么是持久化订阅?持久化订阅指的是,消费端无论是否在线,只要其持久化订阅了某个Topic,消费端就总会收到发送到此Topic上的消息,类似ActiveMQ中的持久化订阅。
2、持久化订阅使用方式,从以下客户端举例:
1> 以mosquitto客户端为例,
通过参数[-c]起作用,注意[-c]需要和[-i]结合使用
>mosquitto_sub -h 172.17.6.147 -t YourComTm/01012345678 -c -i "can_do@2019" -q 2 -u can_do -P passw0rd ...
1> 切换到目录,注意不是src下
cd /data/backup/mosquitto-1.4.5
2> 执行编译操作
# make
set -e; for d in lib client src; do make -C ${d}; done
make[1]: Entering directory `/data/backup/mosquitto-1.4.5/lib'
cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THREADING -DWITH_SOCKS -DWITH ...
=>IoT => Internet of Thing
=>IoV => Internet of Vehicle
=>M2M => Machine to Machine
=>MQTT =>Message Queuing Telemetry Transport
=>DDS => Data Distributed Service of Real-Time Systems
=>AMQP =>Advanced Message Queuing Protocol
=>CoAP =>Constrained Applicatio ...
1、查看restapi端口
# netstat -tnulp|grep 19656
tcp 0 0 0.0.0.0:6369 0.0.0.0:* LISTEN 19656/beam.smp
tcp 0 0 0.0.0.0:18083 0.0.0.0:* LISTEN 19656/beam.smp
tcp 0 0 127.0.0.1:11883 ...
1、引入jar包如下:
1> mqtt-client-1.16-SNAPSHOT.jar
2> hawtbuf-1.11.jar
3> hawtdispatch-1.22.jar
4> hawtdispatch-transport-1.22.jar
2、代码如下:
package com.cnd.poc;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io ...
【问题】客户端通过mosquitto发布或者订阅消息出现认证不通过问题
mosquitto_pub -h 172.17.6.150 -t GFTm/010/01012345678 -q 1 -u can_do -P passw0rd -d -m "Hello can_do 22"
Client mosq/WIcXPDp8MXe9MXGJbH sending CONNECT
Client mosq/WIcXPDp8MXe9MXGJbH received CONNACK (5)
Connection Refused: not authorised.
【分析解决】
=>re ...