Node.js 访问api时获取404
我正在设置NodeJS项目以访问api 目录树视图Node.js 访问api时获取404,node.js,api,express,apache2,Node.js,Api,Express,Apache2,我正在设置NodeJS项目以访问api 目录树视图 └── html └── perb ├── bin ├── models ├── node_modules 项目树视图 但最终得到了404。 但当我试图通过localhost访问时,它工作正常 localhost地址:localhost:3000/trainer/logintrainer 服务器地址:ip地址/perb/trainer/logintrainer 在bin/www文件中,
└── html
└── perb
├── bin
├── models
├── node_modules
项目树视图
但最终得到了404。
但当我试图通过localhost访问时,它工作正常
localhost地址:localhost:3000/trainer/logintrainer
服务器地址:ip地址/perb/trainer/logintrainer
在bin/www文件中,侦听端口为3000
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
但是我也试着把它改成80和8080,但是没有任何帮助
我使用apache2服务器,设置为()
我们将非常感谢您的帮助 在教程中设置的文件中,您是否可以将代理设置为指向您试图命中的ip而不是本地主机
<Location /nodejs>
ProxyPass http://127.0.0.1:8080
ProxyPassReverse http://127.0.0.1:8080
</Location>
ProxyPasshttp://127.0.0.1:8080
ProxyPassReversehttp://127.0.0.1:8080
检查您的服务器日志。确保你确实在使用你的应用程序,因为你可能没有。apachehttpd需要知道如何重定向到节点应用程序的端口。您可能想看看如何使用类似的工具来为您执行此操作。这是Apachehttpd
的一个附加组件,它处理端口映射和进程管理。当我检查pm2日志时,它不会影响服务器@Tadman当你说你在“ip地址”点击它时,你是指127.0.0.1还是其他什么?如果是192。您可能正在阅读另一个教程,其中假设您设置了另一个代理,而不是像34这样的常规ip。某物@ashmatichttpd
配置通常基于主机名,因此如果使用标准的
指令,则主机名需要匹配才能将内容路由到正确的站点。因此,我需要将127.0.0.1:8080更改为常规IP地址,即34。什么?是的,它不知道在你试图点击的ip上监听,因为你从来没有告诉它在那里监听。实际上,我没有找到example.com.conf,但是在文件夹站点下有两个文件可用,即000-default.conf和default-ssl.conf,所以我在000-default.conf中做了更改