Когда я НЕ в VPN — запрос кросс-источника заблокирован: одна и та же политика происхождения запрещает чтение удаленного ресурса в

Если я подключен через VPN к сети моей компании, внешний веб-сайт SSL (https://mysite.company.com) РАБОТАЕТ ИЗБИРАТЕЛЬНО с node / socket.io

Как только я выхожу из VPN и захожу на сайт, в консоли браузера появляется эта ошибка:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote
resource at https://mysite.company.com:8080/socket.io/?EIO=3&transport=polling&
t=1415132537790-0. This can be fixed by moving the resource to the same domain or enabling CORS.

Я не знаю, почему это происходит только тогда, когда я отключен от VPN … нет никаких запросов, кроме mysite.company.com … Я пробовал так много разных способов, чтобы решить эту проблему путем исследования этой хорошо известной ошибки … … ничего не помогло, я очень надеюсь, что смогу получить поддержку … пожалуйста!

У меня есть это в моем файле .htaccess:

Header always set Access-Control-Allow-Origin "*"Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"Header always set Access-Control-Max-Age "1000"Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
Options FollowSymLinks

# Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

мой файл client.php (раздел html):

<script src="/js/socket.io-1.1.0.js"></script>
<script type="text/javascript">
var socket = io.connect('https://mysite.company.com:8080');

socket.on('notification', function(data) {
alert(data.message);
});
</script>

мой nodeServer.js:

var connectionsArray = [];
//var app = require('express')();
var https = require('https');
var fs = require('fs');

var options = {
key:    fs.readFileSync('C:/certs/mysite_company_com.key'),
cert:   fs.readFileSync('C:/certs/star_company_com.crt'),
ca:     fs.readFileSync('C:/certs/DigiCertCA.crt'),
requestCert: true,
rejectUnauthorized: false
};

var server = https.createServer(options);
var io = require('socket.io').listen(server);

server.listen(8080, 'mysite.company.com');

io.set('origins', '*:*');

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector