У меня есть веб-сервер Apache с действующим сертификатом SSL.Он запускает мое веб-приложение на нем.Давайте назовем его Сервер A.
Затем у меня есть второй сервер, на котором запущен сервер Node-Js с действующим сертификатом SSL.Там также работает socket.IO.И этот мы называем Сервер B.
Клиент запрашивает веб-приложение на сервере A и отображает нужную страницу.Если страница настроена на клиенте, соединение с сервером B устанавливается через веб-сокеты.Если другой клиент должен что-то изменить на странице, он будет адаптирован для всех подключенных в настоящее время клиентов.
Веб-сокеты работают по желанию.Пока страница доступна через браузер компьютера.
Если я сейчас захожу на сайт со своим смартфоном (Iphone 7) через Safari или Chrome (WLAN), подключение к серверу веб-сокетов (сервер B) отсутствует.
Затем я настроил небольшой пример веб-сокета на http без шифрования.Там веб-сокеты работают в браузере смартфона.
Я надеюсь, что смогу объяснить мою проблему по понятным причинам.Я очень благодарен за подсказки, примеры или подобное.
// This script run on my Server
const fs = require('fs');
const server = require('https').createServer({
key: fs.readFileSync('myserver.key', 'utf8'),
cert: fs.readFileSync('myserver.cer', 'utf8'),
passphrase: ''
});
let io = require('socket.io')(server);
server.listen(3003);
io.on('connection', function (socket) {
console.log("User Connected connect " + socket.id);
socket.on('disconnect', function () {
console.log("User has close the browser " + socket.id);
});
socket.on('feedback', function (data) {
io.sockets.emit('feedback', data);
});
});
// On Clientsite
socket = io.connect('wss://adressOfServer:3003', {
// secure: true,
transports: ['websocket'],
upgrade: false,
rejectUnauthorized: false
//Here I have already tried many combinations
});
socket.on('connect_error', function (error) {
// alert(error);
});