nginx 代理后面的 SpringDoc/Swagger

2023-12-04

我们正在运行一个服务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 path.

在设置任何内容之前(使用默认的 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 and /v3/api-docs/swagger-config return 404两者都是为了service-post:8080/* and https://host.com/services/post/*

唯一有效的似乎是https://host.com/services/post/swagger-ui/index.html其中显示了 petstore 文档。

我们没有使用 Spring Boot,只是Spring MVC的版本5.3.1.

那么我该如何设置才能保留原始路径的处理(例如/api-docs),但在前缀路径(/services/post/api-docs)?


最后我完全忽略了默认重定向:

  • swagger-ui.html-> `swagger-ui/index.html?url=/v3/api-docs

并实现了我自己的一个:

  • docs -> swagger-ui/index.html?url=MY_PREFIX/v3/api-docs

这样我不需要更改任何内容,一切都可以使用默认设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx 代理后面的 SpringDoc/Swagger 的相关文章

随机推荐

  • 将 bash 脚本添加到路径

    我想向 linux PATH 添加一个小脚本 这样我就不必在磁盘上物理放置的位置实际运行它 该脚本非常简单 就是通过代理提供 apt get 访问权限 我这样做是这样的 bin bash array len array args array
  • JQuery Datepicker 返回 Date 对象类型

    Datepicker返回的对象类型是什么 假设我有以下内容 txtbox datepicker onClose function date something What is date 我有兴趣从另一个日期选择器读取日期对象进行比较 例如
  • Wix 安装、服务器、客户端或两者

    我想创建 Wix 安装程序来安装 Client Server或两者都基于用户选择 我的问题是当用户选择服务器时如何限制安装客户端 它被安装 因为它的级别 1 我已经定制了WixUI Mondo 我尝试使用组件条件但没有成功
  • 任何 iPhone 应用程序使用的内存

    关于iOS内存管理 我有一些不明白的地方 我想知道 iPhone 应用程序在设备上运行时通常需要多少内存 是否有像 10MB 这样的固定数字 如果应用程序包含大量大图像 对内存有何影响 它们仅在加载时影响内存吗 当有多个应用程序运行时 iO
  • WebBrowser 控件报告什么 UserAgent?

    只是想知道 VB NET 在访问网页时读取的浏览器类型是什么 例如 在我的网站上 它显示了访问我的网站的所有不同浏览器的详细信息 您没有为您的问题提供太多背景信息 但我认为您正在谈论用户代理字符串当您使用时发送的WebBrowser con
  • 使用路径变量在 golang 中调用 GET REST API

    我是第一次尝试Golang 我正在尝试调用具有路径变量的 GET REST API 我正在使用 net http 我正在尝试如下所示 但到目前为止还没有运气 我需要知道如何使用路径变量并从代码中传递该变量 任何帮助或代码示例将不胜感激 这似
  • SQL Server - 重叠数据的累积总和 - 获取总和达到给定值的日期

    在我们公司 我们的客户执行我们在不同表中记录的各种活动 面试出勤 课程出勤和其他一般活动 我有一个数据库视图 它将所有这些表中的数据结合在一起 为我们提供了如下所示的 ActivityView 正如您所看到的 一些活动是重叠的 例如 在参加
  • 生成 1D 张量作为 2D 张量的行的唯一索引

    假设我们通过为每个不同的行提供不同的索引来将 2D 张量转换为 1D 张量 从0 to the number of rows 1 1 2 1 3 1 4 gt 0 1 2 但如果有相同的行 那么我们重复索引 如下所示 1 2 1 2 1 4
  • 将自定义小部件添加到 QTableWidget 单元格

    我有使用 qt 设计器制作的自定义小部件 我想将其添加到 QTableWidget 单元格中 但这不起作用 这是代码 int nRows 10 for int row 0 row lt nRows row QTableWidgetItem
  • 使用sscanf多次读取字符串

    我正在尝试读取多维数组内字符串的内容 问题是 当我这样做时 sscanf 继续仅读取第一个字符 我的绳子上有这个 A1 A2 A3 A4 我想读取 c d 如果只是 A1 我可以读取这个 但是当这种情况发生时 它只读取 A1 我这样做是为了
  • global-variable-exists 在 Sass 中触发错误

    我正在使用类似三元的语句来初始化 Sass 中的变量 这允许我将一些默认变量设置为 Zurb Foundation 正在使用的相同变量 但如果我决定不包含 Foundation 模块 那么事情就不应该落在他们头上 nav link icon
  • 如何用 Python 解释 JavaScript

    可以用Python运行JavaScript吗 有任何库可以实现这一点吗 我需要执行一些 JavaScript 我知道这对于某些 Java 库是可能的 但我更喜欢 Python 有人可以给我一个线索吗 此致 你可以检查蜘蛛猴
  • 有没有一种方法可以在不使用 IIS 的情况下使用 WCF 自定义友好 URL?

    有没有一种方法可以在不使用 IIS 的情况下使用 WCF 自定义友好 URL 特别是 我希望通过我自己的 Windows 服务中托管的 app config 执行类似的操作 WebGet UriTemplate foo id public
  • JSF Eclipse 设计器

    是否有任何 Eclipse 插件可以让我像 Visual Studio 一样在网页上拖放 JSF 组件 这样我就不用写了
  • 是否可以反序列化 Avro 消息(使用来自 Kafka 的消息)而不在 ConfluenceRegistryAvroDeserializationSchema 中提供 Reader 模式

    我在 Apache Flink 中使用 Kafka Connector 来访问由汇流卡夫卡 除了 schema 注册表 url 之外ConfluentRegistryAvroDeserializationSchema forGeneric
  • 动态打开Javascript中定义的radwindow

    客观的 从服务器端 我需要在 IF 条件下自动打开一个 radwindow 在 aspx 页面的 JavaScript 中定义 使用的代码 在 aspx 页面中 我将 radwindow 定义为
  • 在 dplyr 中使用动态位置数创建滞后/超前变量

    我正在寻找一种方法来生成从具有动态位置数的滞后列派生的列 参数n 这意味着这个新列应该作为参数n存储在另一列中的值 参见lag文档功能 样本数据 set seed 42 df lt as tibble data frame id c rep
  • ARM 存储寄存器

    在ARM中有一个Banked Register的概念 在阅读许多问题及其答案以及有关什么的各种其他资源时Banked意思是这里 然后我得到了这个定义 登记银行业务是指在同一地址提供登记册的多份副本 并非所有寄存器都能立即看到 但我在这里的疑
  • Java Selenium - ExpectedCopnditions 存在通过但可见性失败

    我不明白 我已经寻找答案两天了 但我找不到解决这个问题的单一解决方案 代码如下所示 在 try catch 块内 Presence new WebDriverWait Driver custTimeout Presence until Ex
  • nginx 代理后面的 SpringDoc/Swagger

    我们正在运行一个服务nginx代理以便 http service post 8080 swagger ui html被路由到公共地址https host com services post swagger ui html 或者从另一种方式定