访问本地主机被拒绝您无权查看此页面。 HTTP 错误 403

问题描述 投票:0回答:6

我有一个小型 NodeExpress 服务器,当我尝试向服务器发出请求时,它返回 403 错误 我已经安装了

Cors
并使用了它,并尝试使用 chrome 浏览器和 Postman 作为 2 个客户端,但得到了相同的拒绝错误

var express = require('express')
var cors = require('cors')
var app = express()

app.use(cors())

app.get('/', function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for all origins!'})
})

app.listen(80, function () {
  console.log('CORS-enabled web server listening on port 80')
})
node.js express cors httpclient
6个回答
47
投票

我在

firebase serve
 上使用 
MacBook Pro (14-inch, 2021), Apple M1 Pro, macOS Monterey 12.3

时遇到了这个问题

更新:

所以显然原因是

macOS Monterey 引入了在端口 5000 上运行的 AirPlay 接收器。这会阻止您的 Web 服务器在端口 5000 上提供服务。接收器已经拥有该端口。

因此,上面引用的答案提出的解决方案是关闭AirPlay接收器,或者在另一个端口上运行您的应用程序。

如果您使用firebase服务运行应用程序,您可以按照以下方法更改端口:

来源

firebase.json 文件无法与 firebaseserve 命令一起使用。 您必须使用 firebase 模拟器:start 命令。

如果你想继续使用firebase服务那么它应该像这样使用 在:

firebase serve --only hosting --port=5002

旧答案:

这不是一个足够的答案,但我可以通过输入

127.0.0.1
而不是
localhost
来绕过这个问题。我认为这不是最好的答案,我也不满意。一旦找到更好的答案,我一定会回来更新答案。


5
投票

对于 Chrome 试试这个

chrome://net-internals/#sockets

您将显示这样的小网页:

单击 [刷新套接字池]


2
投票

只需使用另一个端口,例如5100

"sampleApp": {
  "commandName": "Project",
  "launchBrowser": true,
  "launchUrl": "weatherforecast",
  "applicationUrl": "http://localhost:5100",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}

0
投票

有时我在 Monterey 上开发 FLASK 应用程序并使用 Chrome 时遇到同样的问题。 重新启动 Chrome 总是可以解决该问题。我认为没有正确停止应用程序是我的情况的根本原因。


0
投票

我刚刚遇到这个问题。我的堆栈是 Node + Express

使用此堆栈,上述解决方案也适用。

我所要做的就是更改端口号:

app.listen(5000);
// 不起作用

app.listen(8000);
// 一切都好:)


-3
投票

我遇到了类似的结果,关闭 Airplay 接收器帮助我解决了问题

© www.soinside.com 2019 - 2024. All rights reserved.