【发布时间】:2016-04-08 01:25:07
【问题描述】:
我有一个使用节点 js 做一些事情的网站,但我需要它通过 http 而不是 https 连接。
这行得通;
var socket = io.connect("https://secure.tp.uk.com:3000");
但是,这不是;
var socket = io.connect("http://secure.tp.uk.com:3000");
我得到了错误
net::ERR_EMPTY_RESPONSE
这是我的节点服务器脚本;
var http = require('http');
var fs = require('fs');
var express = require('express'),
app = module.exports.app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);
server.listen(3000);
var demoUsers = [];
var tpUsers = [];
var activeGls = [];
io.sockets.on('connection', function (socket) {
// here are all my functions which i know work because it works fine over https!!
});
它最初是通过 http 工作的,但我用 https 测试了一些东西,但我在 ios 设备上遇到了 https 问题,所以现在我需要让它与 http 一起工作!
这是我的站点配置文件。 /etc/apache2/sites-available/
<VirtualHost *:80>
ServerName secure.tp.uk.com
ServerAlias secure.tp.uk.com
DocumentRoot /var/www/laravel/public
<Directory /var/www/laravel/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
Order allow,deny
allow from all
</Directory>
</VirtualHost>
【问题讨论】:
-
查看托管配置会很有帮助(nginx、apache?),域的配置很可能使站点无法通过一种协议访问,即使它在另一种协议中工作。在没有托管配置的情况下在本地测试它可能会突出显示它是否在该区域中。
-
我已经为该站点添加了我的 conf 文件。
标签: javascript jquery node.js