我正在部署一个简单的node.js应用程序,我正在使用apache作为Web服务器。我正确安装了apache,我在httpd.conf文件中唯一更改的是DocumentRoot和Directory。我将这些指向我的节点应用程序的目录。我重新启动了apache,当我去公共IP时,我只看到apache测试页面?但是,如果我卷曲私有IP地址..使用端口扩展名(:8000),而不是返回我的应用程序的索引页面。如何让apache将请求发送到正确的端口?
编辑:如果我只卷曲私有IP地址,它将返回Apache测试页面的html。
答案 0 :(得分:0)
您将请求从Apache代理到Node,而不是尝试让Apache直接调用node命令(就像您使用PHP一样)。
您可以使用以下配置执行此操作:
ProxyPass /app http://127.0.0.1:8000
这意味着如果您转到https://www.example.com/app,那么您将调用您的节点服务。
您当然可以使用ProxyPass /所有内容都可以转到您的节点服务,但是大多数人发现允许Web服务器处理静态页面和资源(因为它很擅长)然后让节点返回它是最好的动态内容 - 直接返回HTML或只返回JSON格式的数据和使用该数据的前端javascript。