Flask连接MongoDB时访问27017端口出现原生驱动端口HTTP访问报错
报错根因
你收到的报错是MongoDB原生端口的默认提示:27017是MongoDB专属的驱动通信端口,仅支持MongoDB自有协议,不支持HTTP协议访问。你直接用Chrome浏览器走HTTP协议访问该端口,才会触发该报错,和你配置文件中的MongoDB连接参数没有关联,不需要修改MongoDB的端口配置。
解决方法
- 你需要访问的是Flask服务的监听端口,而非MongoDB端口。默认Flask启动后监听
5000端口,你可将访问地址修改为http://localhost:5000/OData/data测试;如果你的Flask启动代码中app.run()指定了自定义端口,替换为对应端口即可。 - 现有配置中的
nosqlconfig参数本身没有错误,Flask服务通过pymongo等MongoDB驱动读取该配置即可正常连接数据库,无需调整。 - 如果你需要通过HTTP接口直接操作MongoDB数据,需自行在Flask中封装对应的业务接口,或部署MongoDB专属REST管理服务,不可直接访问MongoDB原生通信端口。
内容的提问来源于stack exchange,提问作者Tobias
相关产品推荐
相关产品推荐

