Ionic 错误“GET http://myapi.host.com/api/user net::ERR_EMPTY_RESPONSE”当使用头'授权'

fjaof16o  于 2023-06-20  发布在  Ionic
关注(0)|答案(1)|浏览(170)

Im usgin Laravel Sanctum auth for my API.当我尝试调用由'auth:sanctum'中间件处理的端点时,我无法放置'Authorization'标头,因为如果我使用它,我会得到错误“GET http://myapi.host.com/api/user net::ERR_EMPTY_RESPONSE”。
我认为这可能是我的服务器配置,但donde这与 Postman 和它的工作正常,但它不在浏览器。
有人知道为什么会这样吗?
I'm usgin Angular in an Ionic app这是我的API调用

const headers = new HttpHeaders({
      Authorization: `Bearer ${await this.apiHelper.getToken()}`
    });

    this.http
      .get(`${this.uri}/api/user`, {
        headers: headers,
      })
      .subscribe(
        (res) => console.log(res),
        (error) => console.log(error)
      );

这是我得到的信息:“GET http://myapi.host.com/api/user net::ERR_EMPTY_RESPONSE”
如果我尝试一个没有“授权”头的调用,它会工作,像这样:

this.http
      .get(`${this.uri}/api/user`)
      .subscribe(
        (res) => console.log(res),
        (error) => console.log(error)
      );

我得到这个:“GET http://myapi.host.com/api/user 401(Unauthorized)”所以我无法验证任何东西

6kkfgxo0

6kkfgxo01#

错误GET http://myapi.host.com/api/user net::ERR_EMPTY_RESPONSE通常发生在服务器没有向客户端发送任何响应数据时。这可能是由于各种原因造成的,例如服务器问题、网络连接问题或配置错误。
当遇到此错误时,特别是在使用“Authorization”标头时,有一些潜在的原因和解决方案需要考虑:
1.* * 授权头错误**:仔细检查您是否正确设置了“授权”标头。它应该遵循格式“Bearer {token}”。请确保您提供了有效的令牌或凭据进行身份验证。
1.* * 服务器端问题**:您尝试访问的服务器可能遇到了一些内部问题。在这种情况下,除了等待并稍后重试之外,您在自己的终端上没有多少可以做的。
1.* * 跨域资源共享(CORS)问题**:检查服务器是否配置了正确的CORS标头。如果API服务器不包含适当的CORS头,浏览器可能会由于同源策略而阻止响应。确保服务器包含必要的CORS头,如“Access-Control-Allow-Origin”、“Access-Control-Allow-Methods”和“Access-Control-Allow-Headers”。
1.* * 网络连接或防火墙**:请确认您有稳定的网络连接,并确保没有防火墙规则阻止请求。尝试从其他网络或计算机访问API,以查看问题是否仍然存在。
1.* * 调试和日志记录**:在客户端和服务器端启用调试或日志记录,以获取有关问题的更详细信息。检查服务器日志中是否有任何错误消息或异常,以了解问题的原因。
1.* * 接口端点或路由问题**:确保您尝试访问的API端点或路由正确有效。仔细检查URL并确认它与预期的端点匹配。
通过调查这些潜在原因,您应该能够缩小错误的来源范围,并采取适当的措施来解决它。

相关问题