1、首先登录路由器;
2、点击无线设置--基本设置;
3、勾选开启WDS,并单击"扫描"按钮;
4、选择需要桥接的SSID,然后单击后面的"选择"按钮;
5、输入桥接路由器的密码;
6、单击DHCP服务器--DHCP服务;
7、选择不启用"DHCP服务器"单选按钮,并单击“保存”;
8、单击运行状态,查看路由器是否桥接成功。
返回的状态码
其它开发者调用限速系统的API时,如果超过了配额,也就是请求被拒绝,那么这时应该返回429状态码,表示用户在某段时间内发送的请求过多 。通常标准的做法还会设置 retry-after 这个header,来告诉API调用者多久以后可以重试请求。
例子
HTTP/2 429
Date: Sun, 17 Jun 2018 14:43:38 GMT
retry-after: 36
自定义响应Header
除了返回状态码,还应该返回一些自定义的header来解释速率限制的情况,这会对调用API的开发者有用。这些常用的Headers包括:
例子
HTTP/1.1 200 OK
Date: Sat, 11 Nov 2017 04:37:22 GMT
Status: 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-RateLimit-Reset: 1510378642
AspNetCoreRateLimit
AspNetCoreRateLimit,它是ASP.NET Core速率限制中间件,地址是:
https://github.com/stefanprodan/AspNetCoreRateLimit
使用简介
首先在Startup的ConfigureServices里面注册,用到了MemoryCache:
这里配置的是IP限制,它允许有很多规则,这里我只用了一个:针对所有的资源,每5分钟最多3次请求。
现在,我需要注册一个策略存储和速率限制计数器的存储,这两个是被中间件使用。所以还需要注册这两个服务:
这里都使用的是Singleton单例,因为我们需要的是针对全局的请求来做操作。
接下来要在管道里添加中间件,它应该放在靠前的位置,在日志和异常之后:
测试,发送一个请求看结果:
可以看到5分钟内还剩下两次请求的配额。限制重置的时间大约在5分钟之后。
发送请求超限之后,就会返回429:
Retry-After提示了再过294秒后可以再试试。
而响应的body是这样提示的:
我们再组合几个其它的规则:
现在允许5分钟10次请求,但是每10秒钟最多只能有两次请求。
第一次请求后:
5分钟内还剩9次,然后我10秒内连续发送两次请求,然后再发送一次请求:
这时超出了限制,Header里:
提示6秒后可以重试, 6秒后再次发送请求: