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)”所以我无法验证任何东西
1条答案
按热度按时间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并确认它与预期的端点匹配。
通过调查这些潜在原因,您应该能够缩小错误的来源范围,并采取适当的措施来解决它。