1.图片请求展示:
2.流程阐述
当发起请求 https://test.parkidcode.net/api/asset/parkAccess/page
时,请求的处理流程如下:
-
HTTPS请求:首先,通过HTTPS协议发送请求到
https://test.parkidcode.net/api/asset/parkAccess/page
。由于域名配置了SSL证书,因此请求会被加密并发送到服务器。 -
Nginx接收请求:Nginx作为反向代理服务器接收到这个HTTPS请求。由于请求路径以
/api/
开头,它符合location ^~/api/
的配置,因此该请求将被转发到后端服务。 -
请求转发到Gateway:根据
proxy_pass http://park-gateway:9997/;
的配置,Nginx会将请求转发到park-gateway
服务的9997
端口。注意这里的/
后缀意味着原始请求的URL路径(除了/api/
部分)将保持不变。因此,请求https://test.parkidcode.net/api/asset/parkAccess/page
会被转发为http://park-gateway:9997/asset/parkAccess/page
。 -
Gateway处理请求:
park-gateway
服务接收到请求后,会根据其内部配置的路由规则进行处理。在这个例子中,Gateway的配置中有一个断言Path=/v3/api-docs/**
,这意味着它原本只匹配以/v3/api-docs/
开头的路径。由于你的请求路径是/asset/parkAccess/page
,它不符合这个断言,因此不会匹配到predicates
中定义的openapi
路由。 -
路由匹配问题:实际上,如果Gateway的配置只有上述的断言,那么请求
/asset/parkAccess/page
将不会匹配任何定义的路由规则,除非有其他未提及的路由配置。通常,Gateway应该有一个通配符路由或默认路由来处理不符合特定断言的请求。 -
请求处理与转发:一旦请求匹配到合适的路由规则(如果有的话),Gateway会根据路由规则中的配置对请求进行处理,这可能包括身份验证、限流、请求和响应处理等。然后,Gateway会将请求转发到相应的微服务实例。
-
微服务处理请求:最终,匹配的后