【问题标题】:How to check why I'm getting 401 error with nginx and spring boot app?如何检查为什么我在使用 nginx 和 spring boot 应用程序时出现 401 错误?
【发布时间】:2021-11-09 09:01:02
【问题描述】:

我有标准的 Spring Boot 应用程序,它暴露了几个端点。 其中之一是上传文件的端点(多部分请求)。 在虚拟机上,我使用 nignx 作为代理,它指向我的 Spring Boot 应用程序。 当我使用邮递员调用所有端点时,它工作得很好。我的 Java 组件也是如此。

但现在我必须将我的组件与另一个外部团队同步。 他们面临一个大问题 - 多部分请求仅在一种情况下不起作用。 当他们试图从他们的 VM 的 JS 应用程序中调用它时(在本地它工作得很好)。所有其他请求在本地和从 VM 正常工作。 他们从 nginx 服务器获得 401 响应,没有任何正文。 我为 Spring Security 模块打开了调试模式,但我的组件根本看不到这个请求。 唯一的日志在 access.log 中有 nginx,它看起来像这样:

111.111.111.11 - - [13/Sep/2021:12:41:33 +0000] "POST /my/api/file/upload HTTP/1.1" 401 0 "-" "-".

如果Spring Boot App上没有日志,我该如何调试nginx为什么会出现这个错误?

【问题讨论】:

    标签: java spring spring-boot nginx logging


    【解决方案1】:

    您要发布到的目的地可能需要一些授权方,请尝试在您的application.properties 文件中添加以下行

    security.basic.enable: false
    security.ignored=/**
    

    【讨论】:

    • 当然需要一些。但是当我们使用邮递员或本地(开发人员机器)调用此端点时,授权部分工作得很好。那么在这种情况下,禁用安全性对我有何帮助?
    • 您可以在端点设置中检查 application.properties 文件,设置 security.basic.enable: false 禁用安全性是否有帮助。
    • 或者你的端点应该允许你的IP通过防火墙设置通过端点。
    猜你喜欢
    • 2021-01-25
    • 2018-10-06
    • 2020-06-15
    • 2020-05-14
    • 2021-12-18
    • 2019-01-14
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多