Node.js API出现Cannot GET 404错误,请求排查解决方法
解决API 404错误的方案
问题根源
你错误地将Express路由路径设置为了完整域名,而Express的路由仅负责处理域名后的路径部分,不需要包含域名本身,这会导致服务器无法匹配到正确的请求路径。
正确处理步骤
1. 恢复正确的根路由配置
将路由代码改回原始的根路径写法,这是Express处理根请求的正确方式:
app.get('/', (req, res, next) => { res.json({msg: 'Welcome to your book2life api !', status: 200}) })
2. 检查服务器的基础配置
- 端口监听:确认Express服务器监听的端口(默认是3000),如果使用非标准端口,请求URL需要加上端口号,例如
https://www.book2lifeapi.book2life.fr:3000 - 域名解析:核实域名
www.book2lifeapi.book2life.fr是否正确解析到了你的服务器公网IP - 反向代理配置(若使用):如果用Nginx等代理工具,需确保代理规则将域名请求转发到Express服务器的端口,示例配置:
server { listen 443 ssl; server_name www.book2lifeapi.book2life.fr; ssl_certificate /path/to/your/ssl/cert.pem; ssl_certificate_key /path/to/your/ssl/key.pem; location / { proxy_pass http://localhost:3000; # 匹配Express监听端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
3. 验证服务器运行状态
- 在服务器本地执行
curl http://localhost:3000,检查是否能返回预期的JSON响应,确认服务器本身运行正常 - 检查服务器防火墙/安全组是否开放了对应端口,确保外部请求能到达服务器
4. 确认请求URL的正确性
确保客户端请求的URL是https://www.book2lifeapi.book2life.fr(无多余路径),避免拼写错误或额外路径导致的404。
内容的提问来源于stack exchange,提问作者Manuella
相关产品推荐
相关产品推荐

