环境是centos7.9
Workerman version:4.0.40 PHP version:8.0.21 Event-Loop:\Workerman\Events\Select
apisix是nginx的一个动态网管服务,视为nginx
使用apisix代理 127.0.0.1:8787 和127.0.0.1:8788
当使用路由代理的是http://127.0.0.1:9080/tp 代理路由配置成 tp的时候去访问,就出404 Not Found
webman
如果是用全匹配 /* 就是没问题
socket没问题
webman这部分有指定前缀路由匹配的设置 或者方案,larave可以指定配置
使用其他网关也有类似问题
代理到127.0.0.1:8787的时候应该是带上了/tp的,意思就是请求webman的url是127.0.0.1:8787/tp,那么会请求默认的控制器和方法,也就是127.0.0.1:8787/tp/index/index,显然,你没有配置/tp这个路由,所有就404了
我知道是这样的,但是webman的项目不为了前缀是路由路面专门去匹配,应该是有个全部配置的地方,类似laravel这样
这个可以写一个插件来解决(参考自动路由插件)
也可以设置路由分组来解决:
这个要是Nginx做的代理就比较好解决,你这个apisix配置的路由好像apisix那边没法解决,只能在webman这边解决了
还有个办法,使用多应用,也可以解决,在app下面增加一个tp应用(也就是增加一个tp文件夹)
可以通过多域名,独立一个webman应用可以 使用/*, 但是webman应该支持项目前缀的配置,这个需求在合作类型的项目里是需要的