Как решить проблему с Socket.io и Https?

Ставлю скрипт рулетки вещей. Есть связка apache + nodejs + socket.io. Если зайти на сайт по айпи адресу, то сайт коннектится к боту по сокету, в консоли все нормально. Если зайти на сайт по домену, то ругается двумя ошибками:

GET https://site.ru:2053/socket.io/?EIO=3&transport=polling&t=1564049380135-11 521

Access to XMLHttpRequest at 'https://site.ru:2053/socket.io/?EIO=3&transport=polling&t=1564049380135-11' from origin 'https://site.ru' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.


Пробовал настроить CORS добавив в .htaccess
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>

но не помогло.

На сайте в скриптах используется соединение
var socket = io.connect(':2053'); также пробовал указать var socket = io.connect(https://site.ru':2053');, ничего не помогло.

App.js для старта бота используется с таким конфигом:

var auth = require('http-auth'),
    scribe = require('scribe-js')(),
    console = process.console,
    config = require('./config.js'),
    app = require('express')(),
    server = require('https').Server(app),
    io = require('socket.io')(https),
    redis = require('redis'),
    requestify = require('requestify'),
	
	fs = require('fs'),
    privateKey = fs.readFileSync('/var/www/bot/keys/privkey.pem'),
    certificate = fs.readFileSync('/var/www/bot/keys/cert.pem'),
    credentials = {key: privateKey, cert: certificate},
    https = require('https').Server(credentials,app);

https.listen(config.serverPort);


Использую cloudflare, поэтому порт 2053, тот который у них открыт.

В чем может быть проблема?
  • Вопрос задан
  • 140 просмотров
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
Твой сокет сервер должен возвращать заголовок Access-Control-Allow-Origin "*", так как твой апач возвращает его только для порта 80, а сокет сервер у тебя на 2053 порту.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Spice IT Recruitment Москва
До 200 000 руб.
IQ Oрtiоn Software Санкт-Петербург
от 140 000 до 170 000 руб.
Взахлёб Ульяновск
от 90 000 до 120 000 руб.
20 сент. 2019, в 20:02
3000 руб./за проект
20 сент. 2019, в 19:04
80000 руб./за проект
20 сент. 2019, в 18:32
2000 руб./за проект