Мы запускаем службу за nginx
прокси, чтобы:
http://service-post:8080/swagger-ui.html
направляется на общий адрес https://host.com/services/post/swagger-ui.html
Или определить по-другому:
Когда nginx получает запрос на https://host.com/services/post/swagger-ui.html
, он удаляет префикс /services/post/
и передает запрос службе post
по пути /swagger-ui.html
.
Перед настройкой чего-либо (с конфигурацией SpringDoc по умолчанию) я могу правильно увидеть документацию swagger на http://service-post:8080/swagger-ui.html
.
Чтобы установить пути для публичного адреса на host.com, я использую:
springdoc.api-docs.path: /services/post/api-docs
springdoc.swagger-ui.path: /services/post/swagger-ui.html
springdoc.swagger-ui.configUrl: /services/post/v3/api-docs/swagger-config
Однако кажется, что это полностью тормозит:
/swagger-ui.html
, /api-docs
и /v3/api-docs/swagger-config
возвращают 404
как для service-post:8080/*
, так и для https://host.com/services/post/*
Единственное, что кажется работающим, - это https://host.com/services/post/swagger-ui/index.html, в котором показана документация по петростору.
Мы не используем Spring Boot, только Spring MVC версии 5.3.1.
Итак, как мне настроить сохранение обработки исходных путей (например, /api-docs
), но выполнение поиска по пути с префиксом (/services/post/api-docs
)?