HTTP错误代码详细介绍

HTTP 400 - 请求无效 
HTTP 401.1 - 未授权:登录失败 
HTTP 401.2 - 未授权:服务器配置问题导致登录失败 
HTTP 401.3 - ACL 禁止访问资源 
HTTP 401.4 - 未授权:授权被筛选器拒绝 
HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败 
HTTP 403 - 禁止访问 
HTTP 403 - 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost 
HTTP 403.1 禁止访问:禁止可执行访问 
HTTP 403.2 - 禁止访问:禁止读访问 
HTTP 403.3 - 禁止访问:禁止写访问 
HTTP 403.4 - 禁止访问:要求 SSL 
HTTP 403.5 - 禁止访问:要求 SSL 128 
HTTP 403.6 - 禁止访问:IP 地址被拒绝 
HTTP 403.7 - 禁止访问:要求客户证书 
HTTP 403.8 - 禁止访问:禁止站点访问 
HTTP 403.9 - 禁止访问:连接的用户过多 
HTTP 403.10 - 禁止访问:配置无效 
HTTP 403.11 - 禁止访问:密码更改 
HTTP 403.12 - 禁止访问:映射器拒绝访问 
HTTP 403.13 - 禁止访问:客户证书已被吊销 
HTTP 403.15 - 禁止访问:客户访问许可过多 
HTTP 403.16 - 禁止访问:客户证书不可信或者无效 
HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效 
HTTP 404.1 - 无法找到 Web 站点 
HTTP 404 - 无法找到文件 
HTTP 405 - 资源被禁止 
HTTP 406 - 无法接受 
HTTP 407 - 要求代理身份验证 
HTTP 410 - 永远不可用 
HTTP 412 - 先决条件失败 
HTTP 414 - 请求 - URI 太长 
HTTP 500 - 内部服务器错误 
HTTP 500.100 - 内部服务器错误 - ASP 错误 
HTTP 500-11 服务器关闭 
HTTP 500-12 应用程序重新启动 
HTTP 500-13 - 服务器太忙 
HTTP 500-14 - 应用程序无效 
HTTP 500-15 - 不允许请求 global.asa 
Error 501 - 未实现 
HTTP 502 - 网关错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot Alibaba Gateway是一个基于SpringBoot和Alibaba的API网关,它提供了一些强大的特性,如路由转发、负载均衡、限流、熔断、安全认证等,可以帮助开发者快速构建可靠的微服务架构。 下面详细介绍一下SpringBoot Alibaba Gateway的使用方法: 1. 添加依赖 在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.1.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-gateway</artifactId> </dependency> ``` 2. 配置路由规则 在application.yml文件中添加路由规则: ```yaml spring: cloud: gateway: routes: - id: user-service uri: lb://user-service predicates: - Path=/user/** filters: - StripPrefix=1 ``` 以上配置表示,将所有以/user开头的请求路由到名为user-service的服务上,并去除请求路径中的第一个路径段。 3. 配置限流 在application.yml文件中添加限流配置: ```yaml spring: cloud: gateway: routes: - id: user-service uri: lb://user-service predicates: - Path=/user/** filters: - StripPrefix=1 - name: RequestRateLimiter args: key-resolver: "#{@userKeyResolver}" redis-rate-limiter.replenishRate: 10 redis-rate-limiter.burstCapacity: 20 - id: product-service uri: lb://product-service predicates: - Path=/product/** filters: - StripPrefix=1 - name: RequestRateLimiter args: key-resolver: "#{@productKeyResolver}" redis-rate-limiter.replenishRate: 5 redis-rate-limiter.burstCapacity: 10 ``` 以上配置表示,对于/user/**路径下的请求,采用RequestRateLimiter限流策略,每秒最多处理10个请求,最大容量为20;对于/product/**路径下的请求,采用同样的限流策略,但每秒最多处理5个请求,最大容量为10。 4. 配置熔断 在application.yml文件中添加熔断配置: ```yaml spring: cloud: gateway: routes: - id: user-service uri: lb://user-service predicates: - Path=/user/** filters: - StripPrefix=1 - name: Hystrix args: name: user-hystrix fallbackUri: forward:/fallback/user - id: product-service uri: lb://product-service predicates: - Path=/product/** filters: - StripPrefix=1 - name: Hystrix args: name: product-hystrix fallbackUri: forward:/fallback/product ``` 以上配置表示,对于/user/**路径下的请求,采用Hystrix熔断策略,当user-service服务出现故障时,转发到/fallback/user路径;对于/product/**路径下的请求,采用同样的熔断策略,当product-service服务出现故障时,转发到/fallback/product路径。 5. 配置安全认证 在application.yml文件中添加安全认证配置: ```yaml spring: cloud: gateway: security: enabled: true routes: - id: user-service uri: lb://user-service predicates: - Path=/user/** filters: - StripPrefix=1 - name: Hystrix args: name: user-hystrix fallbackUri: forward:/fallback/user - name: Auth args: auth-header-name: Authorization regex: Bearer\\s(.+) replacement: $1 - id: product-service uri: lb://product-service predicates: - Path=/product/** filters: - StripPrefix=1 - name: Hystrix args: name: product-hystrix fallbackUri: forward:/fallback/product - name: Auth args: auth-header-name: Authorization regex: Bearer\\s(.+) replacement: $1 ``` 以上配置表示,启用安全认证,对于/user/**和/product/**路径下的请求,采用Auth认证策略,从请求头中获取Authorization字段,并将其转换为token,以便进行后续的认证和鉴权操作。 6. 编写过滤器 在代码中编写过滤器: ```java @Component public class TokenFilter implements GatewayFilter, Ordered { private static final String TOKEN_KEY = "token"; @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { String token = exchange.getRequest().getQueryParams().getFirst(TOKEN_KEY); if (StringUtils.isBlank(token)) { exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED); return exchange.getResponse().setComplete(); } return chain.filter(exchange); } @Override public int getOrder() { return -1; } } ``` 以上代码表示,对于所有请求,在请求参数中检查是否包含名为token的参数,如果不存在或为空,则返回401错误,否则继续执行后续操作。 7. 注册过滤器 在代码中注册过滤器: ```java @Configuration public class GatewayConfiguration { @Autowired private TokenFilter tokenFilter; @Bean public RouteLocator customRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("user-service", r -> r.path("/user/**") .filters(f -> f.stripPrefix(1).filter(tokenFilter)) .uri("http://user-service")) .route("product-service", r -> r.path("/product/**") .filters(f -> f.stripPrefix(1).filter(tokenFilter)) .uri("http://product-service")) .build(); } } ``` 以上代码表示,在路由配置中注册TokenFilter过滤器,对于/user/**和/product/**路径下的请求,先进行TokenFilter过滤器的处理,再转发到对应的服务上。 以上就是SpringBoot Alibaba Gateway的详细介绍,通过以上步骤,可以快速构建一个可靠的API网关,实现路由转发、限流、熔断、安全认证等强大的特性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值