1. 调试之后聚合接口的时候,没有任何的响应,如何解决?

答:调试时候,如果发现没有响应,请注意查看响应的请求头,以及在测试中点击请求响应体Tab中勾选返回上下文,查看返回的响应体中的报错信息。或者打开调试模式,查看日志中的报错信息。

  1. 配置路由之后如何访问?

答:FizzGate的请求地址现阶段都是以:http://{ip}:{port}/proxy/{my_service}/{api_path} 。其中{my_service}是您配置的服务组,{api_path}是你的路由地址。

  1. 转发的地址如何区分?

答:现阶段FizzGate支持两种转发模式,请求路径转发|转发到指定后端服务,如果是请求路径转发,即通过服务名+路径转发,一般转发到服务编排的接口,或者在注册中心(Eureka)已经注册的服务。而转发到指定后端服务有两种转发情况,如果配置了 http://{ip|dns}:{port}/path_to_api 即为http协议转发,而如果使用 http://{my-service}/{api_path2} ,即为注册中心转发,一般用于暴露API地址与内部地址不一致的情况。

  1. 执行管理后台SQL脚本时报错:ERROR 1071 (52000): Specified key was too long; max key length is 767 bytes,怎么解决?

答:原因是由于MySQL数据库中InnoDB表的索引长度限制,通过设置MySQL数据库参数innodb_large_prefix=ON,重新执行脚本即可。

  1. 管理后台服务端启动报错:FlowableException: couldn't create db schema: alter table ACT_RU_VARIABLE,怎么解决?

答:原因是Flowable使用全大写表名操作MySQL数据库,当MySQL数据库区分了大小写时无法读取到脚本创建的表,通过设置MySQL数据库参数lower_case_table_names=1,重启服务即可。

  1. 调用网关接口响应{"msgCode":403,"message":"xxxxxx-x no api config"},怎么解决?

答:原因是网关找不到对应的路由规则,通过管理后台路由管理功能为访问的服务设置路由规则,保存后重新访问接口即可。

  1. 编写的JS调用一直报错,怎么解决?

答:检查一下是否已经将源码里面的JS目录放置fizz-gateway-node.jar包的同级目录下面。

  1. 后端配置都正常,请求响应出现404?

答:出现请求响应{"msg":"系统未知异常[HttpStatus]:400","code":400,"data":"",success:false}。您的请求发送到fizz-manager服务,该服务是后台管理界面的服务,FizzGate的专业版本是需要和社区版fizz-gateway配合使用的,请确认是否请求正常发送到fizz-gateway服务。

  1. 点击网关日志菜单,发现网关日志记录为空?

答:问题同8。

  1. 配置了具体路由,但是没有生效?

答:确认fizz-gateway的application.yml 文件中有need-auth: true 的配置。

  1. 配置了具体路由,查看日志发现请求的地址缺少了[SERVER_NAME]导致请求出现"response 404 NOT FOUND?

答:请求日志正常为:2021-02-19 18:29:46.953 [fizz-el-nio-3] INFO we.filter.FizzGateLogFilter - 5dcc5b98-20 41de6627-47 GET http://127.0.0.1:8600/admin/cache/gatewayGroups response 200 OK in 2 2021-02-19 18:29:46.955 [wc-proxy-el-nio-1] INFO reactor.Mono.PeekTerminal.7 - | onNext(org.springframework.web.reactive.function.client.DefaultClientResponse@40bc5051) 2021-02-19 18:29:46.956 [wc-proxy-el-nio-1] DEBUG we.filter.RouteFilter - ef9b8d3a-46 response 200 OK 2021-02-19 18:29:46.958 [wc-proxy-el-nio-1] INFO reactor.Mono.PeekTerminal.7 - | onComplete() 2021-02-19 18:29:46.960 [fizz-el-nio-2] INFO we.filter.FizzGateLogFilter - ef9b8d3a-46 ef9b8d3a-46 GET http://127.0.0.1:8600/proxy/service1/hello1 response 200 OK in 19 如果发现http://127.0.0.1:8600/admin/cache/gatewayGroups为404,则需要带上[SERVER_NAME],如http://127.0.0.1:8600/[SERVER_NAME]/admin/cache/gatewayGroups。那那么配置的转发路径需要填写为:/[SERVER_NAME]/admin/cache/gatewayGroups。路由结果:/service1/hello1 转发至:/[SERVER_NAME]/[SERVER_NAME]/admin/cache/gatewayGroups。建议配置后端服务的context-path。

  1. 发送请求报 at we.plugin.FixedPluginFilters(FixedPluginFilter.java:73) ~[classes/:?]错误。

答:请确认启动函数为FizzGatewayApplication main()函数,如果是eclipse,建议在代码里面右键启动main函数。

  1. 后台管理界面无法切换菜单

答:请查看前端是否有资源报错,net::ERR_INCOMPLETE_CHUNKED_ENCODING,表明nginx的临时文件收到限制,文件没有加载完全,可在nginx配置中设置如下:server { proxy_max_temp_file_size 0;}

  1. 部署完后登录后台报SQL错误: this is incompatible with sql_mode=only_full_group_by

答:请参考 https://www.cnblogs.com/wxw7blog/p/10021563.html 去掉sql_mode的限制即可