在谷歌云应用引擎上运行的Java 11应用程序失败,注册被调试对象时出现401错误



我在谷歌云应用引擎上部署了Java 11应用程序,应用程序运行良好,我可以在浏览器中看到主页,但当应用程序尝试调用Microsoft Graph API(使用Microsoft Graph SDK执行HTTP调用(时,运行时失败。

失败与谷歌调试器有关,但我甚至没有启用调试器。我发现信息显示,当谷歌构建容器映像时,默认情况下会启用调试器。我有两种选择——要么弄清楚调试器出现401错误的原因,正确配置调试器,要么完全禁用调试器。

我试图找到如何禁用容器图像生成的谷歌调试器的信息,但没有发现任何帮助。我还试图找到如何为应用程序引擎正确配置调试器的信息,但也找不到完整的工作说明。有人知道我需要在应用程序引擎上配置什么来绕过这个错误吗:

java.io.IOException: Server returned HTTP response code: 401 for URL: https://clouddebugger.googleapis.com/v2/controller/debuggees/register
at com.google.devtools.cdbg.debuglets.java.GcpHubClient.registerDebuggee

假设您的Java应用程序处于应用程序引擎标准环境中并使用捆绑服务,那么您仍然使用appengine-web.xml文件进行应用程序配置。如GAE标准发布HTTP(S(请求文档中所述:

URL Fetch将处理所有出站请求,并导致您发送到VPC网络或客户端库的请求失败。如果这些场景中的任何一个适用于您,请确保配置中的url-stream-handler字段未设置为urlfetch

此场景包括Google Cloud Debugger Client for Java,因此出现HTTP错误。作为一种变通方法,您可以省略appengine-web.xml文件中的以下行:

<url-stream-handler>urlfetch</url-stream-handler>

相关内容

最新更新