Node js Faye Client не работает должным образом с HTTPS

Я попытался интегрировать узел js с моим приложением, я только что протестировал http-сервер. Он работает хорошо, но когда я использую https-сервер, как указано ниже, с моим index.php для подписки сообщения, это не работает.

Запустить сервер

var https = require('https'),
faye = require('faye');
var fs = require('fs');

var options = {
key: fs.readFileSync('/etc/apache2/ssl/apache.key'),
cert: fs.readFileSync('/etc/apache2/ssl/apache.crt')
};

var server = https.createServer(options),
bayeux = new faye.NodeAdapter({mount: '/'});

bayeux.attach(server);
server.listen(1337);

Создать клиента

<script src="faye-browser-min.js"></script>
<script>
var client = new Faye.Client('https://localhost:1337/');

client.subscribe('/messages/*', function(message) {
alert('Got a message:');
});
</script>

Отправлять сообщения

Я использовал клиент Faye, чтобы отправить сообщение в test.php.

 $adapter = new \Nc\FayeClient\Adapter\CurlAdapter();
$client = new \Nc\FayeClient\Client($adapter, 'https://localhost:1337/');

$client->send("/messages/test", array("name" => "foo"), array("token" => "456454sdqd"));

Спасибо,

Подскажите пожалуйста как проверить есть ли ошибки на стороне сервера.

1

Решение

Я исправил проблему сам, проблема была не на стороне сервера. Это было в php Faye Client боковая сторона. Это Php Client отлично работает для HTTP-сервер, но мне нужно использовать его для HTTPS сервер. Я сделал следующие изменения, то это работает нормально.

/vendor/nc/faye-client/src/Nc/FayeClient/Adapter/CurlAdapter.php

public function postJSON($url, $body)
{

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($body),
));

curl_exec($curl);
curl_close($curl);
}
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]