当前位置: 首页 > 知识库问答 >
问题:

在子目录nginx中提供springdoc Swigger ui

轩辕修能
2023-03-14

我已经阅读了关于如何在反向代理后为springdoc提供服务的文档(https://springdoc.org/index.html#how-can-i-deploy-springdoc-openapi-ui-behind-a-reverse-proxy)并检查了所有关于该主题的问题,但仍然存在问题。

我在nginx的子目录中提供spring boot(2.6.2版本)应用程序:

location /subdirectory/ {
                proxy_pass http://127.0.0.1:8080/;
                proxy_redirect off;
                proxy_buffer_size 128k;
                proxy_buffers 4 256k;
                proxy_busy_buffers_size 256k;

                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-Proto https;
                proxy_set_header X-Forwarded-Prefix "/subdirectory/";
                proxy_set_header X-Forwarded-Host $http_x_forwarded_host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-NginX-Proxy true;

                proxy_set_header X-Forwarded-Protocol https;
                proxy_set_header X-Forwarded-Ssl on;
                proxy_set_header X-Url-Scheme https;
        }

我还按照文档配置了Spring Boot:

应用属性:

server.forward-headers-strategy=framework
server.tomcat.redirect-context-root=false

当我访问我的域以获得对Spring Boot API的正常请求时,它可以正常工作,例如:

GET https://example.com/subdirectory/countries - OK 200 Returns the expected JSON

但当我尝试访问springdoc swagger-用户界面与:

GET https://example.com/subdirectory/swagger-ui/index.html - OK 200 

我得到了200 OK,但. css和. js文件请求返回404。我看到一个空白页面,没有任何关于昂首阔步的内容。我错过了什么吗?

共有1个答案

钦宏义
2023-03-14

我想你错过了转发过滤器。

@Bean
ForwardedHeaderFilter forwardedHeaderFilter() {
   return new ForwardedHeaderFilter();
}
 类似资料:
  • 问题内容: 我试图建立持续集成与上一个 项目 构建它时,出现以下错误: 以下是我的詹金斯配置的一部分: 我的机器是 我尝试了以下方法: 认为这是一个权限问题,因此在sdk目录中使用chmod -R 777 仔细检查了in 文件(它指向)。 从jenkins配置中删除了添加回来的env变量(这无济于事)。 当我用谷歌搜索时,我发现有人面临同样的问题。提供的解决方案如下: 解 这很可能是因为您要覆盖A

  • 我有一个文件夹,其中有对应于10个不同类的子文件夹,这些子文件夹的名称是我的标签。我想出了以下代码来将图像读入Numpy数组并保存标签。 我得到的错误是 os.chdir(root)FileNotFoundError:[Errno 2]没有这样的文件或目录:“U” 当I时,它会给出正确的子文件夹路径。如何处理此错误? 编辑:通过删除根目录中的根目录的

  • 我正在转换我的media wiki站点,使用nginx作为静态文件的前端,在PHP后端有apache。到目前为止,我已经得到了所有的工作,除了当我查看根目录“example.com”时,它试图提供一个目录列表,并给出一个403错误,因为我已经禁用了它,并且那里没有索引文件。 我现在使用的apache重写规则很简单: 我在nginx中尝试了类似的location指令,但它不起作用: 我的位置指令的其

  • 我有文件在和我想服务他们在使用一个简单的nginx配置。在文件夹中是这样的: 所以我真的希望能够访问,等。 在我的nginx配置中,我有: 这不起作用(如果我尝试转到上面的URL,我会得到404),但是如果我尝试完全相同的设置,但是使用而不是,它可以正常工作。我如何静态地为这个文件目录提供服务,但不是在根位置,而是在一个路径上?我是否必须将文件放在一个名为“某物”的文件夹中,如,这样才能工作?如果

  • 从 v0.10 以及以上版本开发,MinDoc支持运行在二级子目录。 要想让MinDoc运行在二级子目录,需要在app.conf配置文件中配置baseurl项为你的域名,例如:https://www.iminho.me/wiki。 之后,在nginx中配置路由规则,将属于MinDoc的路由重定向到MinDoc端口。配置如下: server { listen 443; server

  • 我有一个LDAP服务器正在运行。使用的LDAP服务是OpenDJ的。 现在发生的是,这台机器上的目录管理器服务正在使用java。lang.OutOfMemoryError 关于获取目录管理器服务的线程转储,下面是我们得到的 线t@883:(状态=阻塞)-太阳。杂项。不安全的park(boolean,long)@bci=0(编译帧;信息可能不精确)-java。util。同时发生的锁。锁支架。park