[英]connecting to socket.IO server through apache webproxy
我的vps上有2个node.js应用程序。 一个在端口3001上,另一个在端口5001(ssl)和5000(http)上。
我使用apache代理将流量从首页路由到node.js服务器。 它还使我可以轻松安装LE证书。
这是我的Apache设置
ProxyPass /herstelling http://localhost:5000/
ProxyPassReverse /herstelling http://localhost:5000/
ProxyPass /kaaswijn http://localhost:3001/
ProxyPassReverse /kaaswijn http://localhost:3001/
该站点已加载,但无法连接我的socket.io。 这是我正在使用的代码
为了使https工作,我设置了一个域名cdn.quintenverhelst.be来获取证书。
该域仅直接指向服务器IP
在nodeJS服务器上:
var app = require('express')();
var http = require('http').Server(app);
var port = 5000;
var express = require('express');
var io = require('socket.io')(http);
https.createServer({
//server keys
}, app).listen(5001);
客户端连接代码:
<script src="https://cdn.quintenverhelst.be:5001/socket.io/socket.io.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script> var socket = io.connect("https://cdn.quintenverhelst.be:5001");</script>
<script src="https://cdn.jsdelivr.net/gh/verhelstq/maintenanceReport/engine.js"></script>
当我打开它给我的错误:
socket.io.js:1无法加载资源:服务器响应状态为404(未找到)
URL无法解析为socket.io.js文件。 看起来它甚至没有将套接字IO脚本加载到页面中:
<script src="https://cdn.quintenverhelst.be:5001/socket.io/socket.io.js"></script>
尝试删除端口号,这是我最后进行测试时解析的JS文件。
<script src="https://cdn.quintenverhelst.be/socket.io/socket.io.js"></script>
那至少可以使您摆脱第一个错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.