- 博客(17)
- 资源 (11)
- 收藏
- 关注
转载 VS 2015调试状态下,Bad Request - Invalid Hostname
当我们后台api开发者,与前端联调时,前端无法通过ip或者127.0.0.1 进行访问你的接口时,遇到的问题修改如下工程路径\.vs\config 文件夹下面的applicationhost.config 这个文件,找到site 那个节点,修改bindings 属性,这其实给在iis中编辑绑定是一样的意思。 <site name="DXMeteorological....
2018-10-15 11:16:19 1973
转载 【.NET】基于Owin中间件实现身份验证实例(OAUTH 2.0方式)附源码
1,在Webapi项目下添加如下引用:Microsoft.AspNet.WebApi.OwinOwinMicrosoft.Owin.Host.SystemWebMicrosoft.Owin.Security.OAuthMicrosoft.Owin.Security.CookiesMicrosoft.AspNet.Identity.OwinMicrosoft.Owin.C...
2018-10-07 10:19:08 2550
转载 【.NET】WebApiThrottle限流框架(15)——关于ThrottlingMiddleware限制频率
ThrottlingMiddleware是一个OWIN中间件部分,它的作用跟ThrottlingHandler一样。使用ThrottlingMiddleware 你可以在webapi作用域范围外配置限制策略,跟使用OAuth中间件或SignalR端点类似。自寄宿配置例子:public class Startup{ public void Configuration(IAppBu...
2018-10-06 10:47:34 527
转载 【.NET】WebApiThrottle限流框架(14)——用ThrottlingFilter、EnableThrottlingAttribute特性配置限制频率
EnableThrottling与ThrottlingHandler是一个二选一的策略配置方案,二者会做同样的事情,但ThrottlingHandler可以通过EnableThrottlingAttribute特性指定某个webapi的controllers和actions去自定义频率限制。需要注意的是,在webapi请求管道中,ThrottlingHandler是在controller前面执行,...
2018-10-06 10:46:28 1401
转载 【.NET】WebApiThrottle限流框架(13)——限流的请求日志
如果你想记录限流后的请求日志,可以实现IThrottleLogger接口,添加到ThrottlingHandler里。public interface IThrottleLogger{ void Log(ThrottleLogEntry entry);}实现ITraceWriter日志记录接口的例子public class TracingThrottleLogger :...
2018-10-06 10:45:17 887
转载 【.NET】WebApiThrottle限流框架(12)——运行期间更新限制频率
为了更新限制策略对象,并在运行时使用新的ThrottlingHandler对象,需要引入WebApiThrottle 1.2版本后支持的ThrottleManager.UpdatePolicy函数。在启动时注册ThrottlingHandler对象,并在构造函数中传入PolicyCacheRepository,如果你是通过Owin自寄宿的webapi,需要使用PolicyMemoryCach...
2018-10-06 10:43:47 838
转载 【.NET】WebApiThrottle限流框架(11)——存储限流的数据
WebApiThrottle会在内存中存储所有的请求数据,寄宿在IIS里使用ASP.NET版本的cache、自寄宿在Owin上使用运行时版本的缓存MemoryCache。如果你想改变请求数据存储的策略,框架是支持redis、nosql、数据库存储的,这种情况下必须创建自己的存储引擎,可以通过实现IThrottleRepository接口完成。public interface IThrottl...
2018-10-06 10:42:13 418
转载 【.NET】WebApiThrottle限流框架(10)——获取API的客户端key
默认情况下,WebApiThrottle的ThrottlingHandler(限流处理器)会从客户端请求head里通过Authorization-Token key取值。如果你的API key存储在不同的地方,你可以重写ThrottlingHandler.SetIndentity方法,指定你自己的取值策略。public class CustomThrottlingHandler : Thro...
2018-10-05 21:20:56 501 1
转载 【.NET】WebApiThrottle限流框架(9)——在web.config或app.config中定义限制策略
在web.config或app.config中配置限制策略,通过ThrottlePolicy.FromStore加装配置项。config.MessageHandlers.Add(new ThrottlingHandler(){ Policy = ThrottlePolicy.FromStore(new PolicyConfigurationProvider()), Repo...
2018-10-05 21:19:16 565
转载 【.NET】WebApiThrottle限流框架(8)——关于被拒请求的计数器
默认情况下,被拒绝的请求不会累加到WebApiThrottle的计数器里。 比如一个客户端在同一秒中请求了3次,而你配置的限制策略是每秒1次,那么分钟、小时、天的计数器只会记录第一次调用,因为第一次请求不会被拒绝。如果你想把被拒绝的请求也计算到其他的计数器里(分钟、小时、天),你可以设置StackBlockedRequests为true。config.MessageHandlers.Add(...
2018-10-05 21:17:23 404
转载 【.NET】WebApiThrottle限流框架(7)——端点自定义限制频率
你也可以为明确的路由地址去自定义限制频率,这些限制配置会重写WebApiThrottle的默认配置。也可以通过相关联的路由地址去定义端点的限制规则,比如api/entry/1端点的请求仅仅是/entry/整个路由地址请求的一部分。 配置后,端点限制引擎会在请求的绝对URI中去搜索这个表达式(api/entry/1),如果这个表达式在请求路由策略中被找到,那么这个限制规则将会被应用。如果有两个或更多...
2018-10-05 21:15:22 628
转载 【.NET】WebApiThrottle限流框架(6)——IP和客户端key自定义限制频率
你可以自定义基于ip或客户端key的请求频率限制,这些限制会重写WebApiThrottle的默认配置。需要注意的是,这些自定义策略需要写到全局配置里才会生效,策略里可以单独给某个ip或某个key配置限流策略。config.MessageHandlers.Add(new ThrottlingHandler(){ Policy = new ThrottlePolicy(perSe...
2018-10-05 21:14:21 943
转载 【.NET】WebApiThrottle限流框架(5)——IP和客户端key的白名单
如果请求是从一个白名单中的IP或客户端key发起的,那么限流策略将不会生效,这个请求的所有信息也不会被存储。 其IP白名单列表支持IP v4和v6的范围配置,比如"192.168.0.0/24", "fe80::/10" 和 "192.168.0.0-192.168.0.255",关于IP范围的更多信息请查看https://github.com/jsakamoto/ipaddressrange...
2018-10-05 21:13:18 885
转载 【.NET】WebApiThrottle限流框架(4)——基于IP和客户端key的端点限流
如果同一个ip的客户端,在同一秒内,调用了2次api/values,其最后一次的调用将会被拒绝掉。如果想接口通过唯一key去识别限制客户端,忽略客户端的ip地址限制,应该配置IpThrottling为false。config.MessageHandlers.Add(new ThrottlingHandler(){ Policy = new ThrottlePolicy(perS...
2018-10-05 21:11:57 378
转载 【.NET】WebApiThrottle限流框架(3)——基于IP的端点限流
上面的api/values限流配置会对整个api/values开头的API限流,同一秒内、同一ip访问api/values后,所有后续访问api/values/xxx的请求都会被拒绝掉。 如果配置了端点限流,同一秒内你也访问api/values/1了,请求将不会被拒绝,因为它们走的是不同的路由。config.MessageHandlers.Add(new ThrottlingHandler(...
2018-10-05 21:10:58 505
转载 【.NET】WebApiThrottle限流框架(2)——基于IP全局限流
下面的代码是限制来自同IP请求的最大次数。如果在一分钟内,同样IP的客户端分别调用api/values和api/values/1两个接口, 那么调用api/values/1的请求会被拒绝掉。public static class WebApiConfig{ public static void Register(HttpConfiguration config) { ...
2018-10-05 21:09:56 1272
转载 【.NET】WebApiThrottle限流框架(1)——介绍
为了防止网站意外暴增的流量比如活动、秒杀、攻击等,导致整个系统瘫痪,在前后端接口服务处进行流量限制是非常有必要的。本篇主要介绍下Net限流框架WebApiThrottle的使用。WebApiThrottle是一个专门为webApi限制请求频率而设计的,支持寄宿OWIN上的中间件的限制过滤。服务端接口可以基于客户端请求IP地址、客户端请求key、及请求路由去限制webapi接口的访问频率。使...
2018-10-05 21:07:56 912
Spring Boot(六十四):SpringBoot集成Gzip压缩数据
2023-08-16
Disruptor专题简单案例资料
2023-06-17
lucene入门数据库资料
2023-05-21
sentinel-feign-parent
2023-05-09
springboot基于redis防止接口恶意刷新和暴力请求
2023-01-17
javawebuploader分片上传
2023-01-02
AT模式seate测试代码
2022-12-26
drools代码示例包
2022-08-12
mysql读写分离演示
2022-05-29
skywalkingRPC
2022-05-10
skywalkingspringboot
2022-05-10
java实现简单的单点登录
2020-03-03
Intellij Idea 创建JavaWeb项目入门(二)demo
2020-01-23
webapi基于Owin中间件的oauth2.0身份认证
2018-10-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人