Ниже приведены различные проблемы, связанные с Chrome и Mozilla.
Mozilla: - Блокировка перекрестного запроса: одна и та же политика происхождения запрещает чтение удаленного ресурса на domain.com
Chrome: - ERR_SSL_VERSION_OR_CIPHER_MISMATCH
Я много проверял, но не нашел решения.
ЗдесьКак создавать ключи на сервере
openssl genrsa -out server-key.pem 1024
openssl req -new -key server-key.pem -out server-csr.pem
openssl x509 -req -in server-csr.pem -signkey server-key.pem -out server-cert.pem
PHP Код файла: -
<script>
var socket = io.connect( 'https://'+window.location.hostname+':3000' , {
secure: true // for SSL
});
socket.on( 'message', function( data ) {
if(curkey == data.key)
{
$('#notif_audio')[0].play();
$( "#tbids" ).html( data.message ).css('color', '#a94442');
}
});
</script>
Код файла узла: -
var express = require('express');
var app = express();
//var server = require('https').createServer(app);
var https = require("https");
var fs = require("fs");
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'DELETE, PUT');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
if ('OPTIONS' == req.method) {
res.sendStatus(200);
}
else {
next();
}
});
var options = {
key: fs.readFileSync("server-key.pem"),
cert: fs.readFileSync("server-cert.pem")
}
var server = https.createServer(app, options);
var io = socket.listen( server );
var port = process.env.PORT || 3000;
io.set('origins', '*:*');
server.listen(port, function () {
console.log('Server listening at port %d', port);
});
io.on('connection', function (socket) {
socket.on( 'message', function( data ) {
io.sockets.emit( 'message', {
new_count_message: data.new_count_message,
key: data.key
});
});
});
Вкл.CLI, узел server.js работает нормально, без ошибок.Означает, что нет ошибки в файле узла.
Примечание: - Я успешно установил этот код на локальном хосте с http.
Пожалуйста, помогите мне решить эту проблему.