【发布时间】:2018-12-28 22:10:08
【问题描述】:
我的 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(未找到)
【问题讨论】:
标签: javascript node.js apache socket.io