Jib*_*bla 3 apache reverse-proxy node.js socket.io
我在Node.js中没有很多经验,也没有在socket.io中,所以也许我会问一些愚蠢的问题并且对此抱歉.
我想做以下事情:
在apache中创建虚拟主机并将其设置为节点的代理.我的conf文件看起来像:
<VirtualHost *:80>
ServerAdmin giorgi@omedia.ge
ServerName node.aidemo.info
ServerAlias www.node.aidemo.info
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
ProxyPass http://127.0.0.1:8080
ProxyPassReverse http://127.0.0.1:8080
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)为服务器创建了简单的js文件(socket.io网站中的第一个服务器示例),并使用命令:node server.js从cli启动服务器.它开始完美,听8080
创建了另一个虚拟主机,我在其中放置了客户端index.html(也来自socket.io中的第一个示例).起初我有问题(实际上主要的问题是这个),浏览器无法解析路径/socket.io/socket.io.js.然后我从终端本地从lynx转到url(http:// localhost:8080/socket.io/socket.io.js),下载了js并在本地放置了index.html附近的virtualhost.在此之后,浏览器可以解析该请求,但是当socket.io.js本身试图获取url时我有错误:
http://localhost:8080/socket.io/1/?t=1347623348836
Run Code Online (Sandbox Code Playgroud)您有什么想法我该如何解决这个问题?我的主要目标是拥有web url,我可以从中访问我的节点服务器并使用socket.io与它通信 - 例如创建非常简单的聊天.
我希望我很清楚.谢谢所有想要帮助的人.
我正在使用express + socket.io,他们正在侦听端口3001.我想http://example.com/folder重定向到我的快递应用程序监听端口3001(即到http://localhost:3001,服务器端).
我做了以下事情.
.html文件包含:
<script src='/folder/socket.io/socket.io.js'> </script>
<script>
var socket = io.connect('http://example.com', {resource: 'folder/socket.io'});
...
</script>
Run Code Online (Sandbox Code Playgroud)
我的apache2 conf看起来像这样:
ProxyPreserveHost On
ProxyPass /folder/ http://localhost:3001/
ProxyPassReverse /folder/ http://localhost:3001/
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /folder/>
allow from all
</Location>
Run Code Online (Sandbox Code Playgroud)
请注意,它需要proxy_http启用模块.要启用它,请运行以下命令:
sudo a2enmod proxy_http; service apache2 restart
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3741 次 |
| 最近记录: |