NodeJS 访问localhost被拒绝您没有权限查看此页面,HTTP错误403

nqwrtyyt  于 2023-04-29  发布在  Node.js
关注(0)|答案(5)|浏览(197)

我有一个小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')
})
v1l68za4

v1l68za41#

我在MacBook Pro (14-inch, 2021), Apple M1 Pro, macOS Monterey 12.3上使用firebase serve时遇到了这个问题

更新:

显然原因是
macOS Monterey introduced AirPlay Receiver running on port 5000. This prevents your web server from serving on port 5000. Receiver already has the port.
所以the answer quoted above提出的解决方案是要么关闭AirPlay接收器,要么在另一个端口上运行你的应用。
如果你正在使用Firebase服务器运行你的应用,你可以通过以下方法更改端口:
source
firebase.json文件不适用于firebase serve命令。你必须使用firebase emulators:start命令。
如果你想继续使用Firebase服务,那么它应该像这样使用:

firebase serve --only hosting --port=5002

老答案:

这不是一个足够的答案,但我可以通过输入127.0.0.1而不是localhost来绕过这个问题。我不认为这是最好的答案,我也不满意。我一定会回来后,并更新答案,一旦我找到一个更好的答案。

jgzswidk

jgzswidk2#

只需要使用另一个端口e。g. 5100

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

bihw5rsg3#

试试这个
chrome://net-internals/#sockets
[冲洗插座池]

kninwzqo

kninwzqo4#

有时我在Monterey开发FLASK应用程序和使用Chrome时也遇到了同样的问题。重新启动Chrome总能解决这个问题。我想没有正确地停止应用程序是我案例中的根本原因。

3htmauhk

3htmauhk5#

我刚刚遇到这个问题。我的堆栈是Node + Express
有了这个堆栈,上面的解决方案也可以工作。
我只需要换个色情片的号码
app.listen(5000);//不工作
app.listen(8000);//都很好:)

相关问题