【发布时间】:2018-04-22 15:38:37
【问题描述】:
我将 socket.io 用作使用 localhost:3000 的聊天应用程序,这在大多数情况下效果很好,但是对于某些用户来说,端口 3000 被阻塞,因此聊天应用程序无法正常工作。
相反,我想使用反向代理来加载带有路径的 url,但我无法让它工作。我查看了大量示例,但没有一个有效,所以我真的希望有人能引导我朝着正确的方向前进。
我想从这里开始:
到这里
这是我在 default-ssl.conf 中添加的内容
<Location /chatapp>
Order allow,deny
Allow from all
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
但是,当我导航到 https://mydomain.co.uk/chatapp 时,我收到以下错误消息。
我的服务器或客户端代码有什么需要更改的吗?
目前我的服务器代码以以下开头...
// Setup basic express server
var fs = require('fs');
var express = require('express');
var app = express();
var path = require('path');
var server = require('https').createServer({
key: fs.readFileSync('/etc/apache2/ssl/**********************************.key'),
cert: fs.readFileSync('/etc/apache2/ssl/**********************************.crt'),
ca: fs.readFileSync('/etc/apache2/ssl/**********************************.crt'),
requestCert: false,
rejectUnauthorized: false
}, app);
var io = require('../..')(server);
var port = process.env.PORT || 3000;
server.listen(port, function () {
console.log('Server listening at port %d', port);
});
// Routing
app.use(express.static(path.join(__dirname, 'public')));
// Chatroom
var numUsers = 0;
io.on('connection', function (socket) {
var addedUser = false;
我的客户端代码只是像这样创建套接字...
var socket = io();
【问题讨论】:
标签: javascript apache ubuntu proxy socket.io