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

为什么我的连接超时了?

毛缪文
2023-03-14

认证之后,如果我调用任何方法,比如< code>os.compute()。口味()。list()或< code>os.images()。list(),我得到< code >连接超时。为什么会这样?

我在GoogleCloudsPlataform VM上设置了一个带有RDO包堆栈的OpenStack。我正在对域和项目进行身份验证。我尝试了没有项目的身份验证,方法调用没有超时,但是响应是错误的,例如,如果我调用列表样式,则返回无样式。

如果我使用APIendpoint进行这些调用,它就有效;如果我使用相同的信息(用户、通行证、域、项目)进行身份验证并调用样式或图像,它就有效。

认证码:

OSClient.OSClientV3 os = OSFactory.builderV3()
                .endpoint("http://host:5000/v3")
                .credentials("admin", "pass", domain)
                .scopeToProject(project)
                .authenticate();

os.compute().flavors().list(); // "connection timed out" code

endpoint身份验证调用(有效):

curl -i \
  -H "Content-Type: application/json" \
  -d '
{ "auth": {
    "identity": {
      "methods": ["password"],
      "password": {
        "user": {
          "name": "admin",
          "domain": { "id": "default" },
          "password": "pass"
        }
      }
    },
    "scope": {
      "project": {
        "name": "admin",
        "domain": { "id": "default" }
      }
    }
  }
}' \
"http://host:5000/v3/auth/tokens" ; echo

endpoint镜像调用:

curl -v -i -H "Content-Type: application/json" -H "X-Auth-Token:token" "http://host:8774/v2/images"; echo

共有1个答案

太叔昆
2023-03-14

一般来说,如果您的HTTP请求超时,需要检查的事项是:

  • 您是否使用了正确的主机名或 IP 地址?
  • 您是否使用了正确的端口?
  • 访问是否被防火墙(某处)阻止?
  • 访问是否因配置错误的网络路由(某处)而受阻?

由于您使用的是openstack4j,您可以通过打开HTTP请求的日志记录来了解更多情况:

OSFactory.enableHttpLoggingFilter(true);

检查它是否正在向 V2 概览终结点发送请求。

如果此操作失败,请使用 IDE 的 Java 调试器来确定正在向哪些服务endpoint发送哪些请求。

 类似资料:
  • 问题内容: 在我的应用程序中,我连接到服务器以对用户进行身份验证。这是代码: 我将连接超时设置为1000 ms = 1s,但是它被忽略了。当我调试并设置错误的用户名和密码时,我发现了 不是在1000毫秒之后,而是在5000 * 60毫秒之后= 5分钟 怎么了 ?如何减少超时时间? 问题答案: 我通过更改为最新版本的JavaMail(至JavaMail 1.5)解决了我的问题。我在这里写到:http

  • 文件中说: 设置代理的HTTP协议版本。默认情况下,使用1.0版。建议将1.1版用于keepalive连接和NTLM身份验证。 在我的nginx配置中我有 直接http://127.0.0.1:1980,我可以看到我的应用程序在一个连接上收到许多请求(当我刷新时)。这是我发送的响应 HTTP/1.1 200 OK\n内容类型:text/html\n内容长度:14\n连接:保持活动\n\n Hell

  • 我正在运行一个Spring boot Java应用程序,使用默认的HikariCP作为数据源: Hikari版本-3.4.5 在AWS EKS中运行的Spring Boot version-2.4.5 JDBI版本-3.9.1 DB-AWS RDS Postgres 我的Spring应用程序变得没有响应,因为它失去了Hikari池中的所有连接。这并不是确定地发生,但是一旦它开始发生,唯一可能的恢复

  • 我已经把正确的消费者“钥匙”和消费者“秘密”,任何帮助都是感激的!

  • 问题内容: 使用JDBC连接池工具(如DBCP或c3p0)有什么好处? 如果只有 一个* 用户的 小型CRUD 应用程序,我们是否可以将 一个 连接会话创建为一个 单例 ? * PS :我正在构建一个带有小型数据库(5个表)的小型后端应用程序。 问题答案: 从Jon Skeet的答案到连接和语句池的好处是什么?: 创建到数据库服务器的网络连接是(相对)昂贵的。同样,要求服务器准备SQL语句(相对)

  • 问题内容: 我们有一个Webstart客户端,它通过使用HTTPS通过HTTPS发送序列化对象来与服务器通信。 在本地计算机和办公室中的测试服务器上,一切都可以正常工作,但是我遇到了一个非常非常奇怪的问题,该问题仅在生产和登台服务器上出现(偶尔发生)。我知道这些服务器与我们办公室中的服务器之间的主要区别在于它们位于其他位置,并且与它们之间的客户端- 服务器通信速度相当慢,但在此之前的生产中也能正常