Apache node.js节点http代理未传递节点模块

Apache node.js节点http代理未传递节点模块,apache,node.js,http,socket.io,Apache,Node.js,Http,Socket.io,我想将/n/requests传递给node.js,然后将所有其他内容留给端口8080上的Apache。代理在端口80运行,/n/的代码在端口9000 但是,像socket.io这样的节点被破坏了,因为我认为它的代理不正确-socket.io查询从apache返回404,与预期的一样: 404找不到 找不到 在此服务器上找不到请求的URL/socket.io/socket.io.js 本地主机端口8080上的Apache/2.2.22(Ubuntu)服务器 我的/n/的起始HTML代码: &

我想将/n/requests传递给node.js,然后将所有其他内容留给端口8080上的Apache。代理在端口80运行,/n/的代码在端口9000

但是,像
socket.io
这样的节点被破坏了,因为我认为它的代理不正确-socket.io查询从apache返回404,与预期的一样:

404找不到

找不到 在此服务器上找不到请求的URL/socket.io/socket.io.js


本地主机端口8080上的Apache/2.2.22(Ubuntu)服务器

我的/n/的起始HTML代码:

<!DOCTYPE html>
<html>
<head>
<script src="/socket.io/socket.io.js"></script>

如何让代理通过节点而不是Apache传递
socket.io/socket.io.js
?我曾尝试使用相同的代码来服务我的静态文件(例如css/js),但似乎没有实际存在的名为
socket.io
的文件夹-node似乎在重写它。

node.js单独使用apache无法完成为静态文件服务的现成工作。因此,每个url/请求/文件都需要在路由器中指定。要使其快速运行,您可以阅读express for node.js 或者只是把指定的文件放在路由器中

    router: {
    'localhost/n': '127.0.0.1:9000',
    'localhost': '127.0.0.1:8080',
    '/socket.io/socket.io.js': 'path/to/the/file'
    }

我应该把文件的路径放在哪里?我看不到socket.io js在哪里。问题是socket.io不是一个文件,而是一个节点模块
    router: {
    'localhost/n': '127.0.0.1:9000',
    'localhost': '127.0.0.1:8080',
    '/socket.io/socket.io.js': 'path/to/the/file'
    }