GenericController.java
Код: Выделить всё
@PostMapping(value = "**", produces = MediaType.APPLICATION_JSON_VALUE)
public Mono genericPost(
@RequestBody byte[] body,
@RequestHeader HttpHeaders headers,
ServerHttpRequest request) {
log.trace("> getURI {}", request.getURI());
log.trace("> getPath {}", request.getPath());
Код: Выделить всё
> getURI https://my-external-host.kong.com/
> getPath /
Код: Выделить всё
> getURI https://my-external-host.kong.com/v1/api/service/
> getPath /v1/api/service/
< /code>
Служба Kong настроена с помощью "Strip_path: true", поэтому приложение Spring Boot получает запрос по адресу /. Это можно проверить с помощью Spring Boot Version 3.3.8. Но кажется, что ServerhttpRequest Здесь некоторые заголовки (такие же для обеих версий), которые могут быть полезны для понимания того, что происходит: < /p>
Код: Выделить всё
[Host:"my-internal-service:8080",
Connection:"keep-alive",
X-Forwarded-For:"xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx",
X-Forwarded-Proto:"https",
X-Forwarded-Host:"my-external-host.kong.com",
X-Forwarded-Port:"443",
X-Forwarded-Path:"/v1/api/service",
X-Forwarded-Prefix:"/v1/api/service",
X-Real-IP:"xxx.xxx.xxx.xxx"]
Подробнее здесь: https://stackoverflow.com/questions/794 ... -the-old-b