Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2016, 17:02   #1
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию Что с этим делать? Политика одного источника запрещает чтение удаленного ресурса

Пробую сделать запрос $.getJSON с одного сервера на php скрипт находящийся на другом сервере.
Браузер пишет:
Код:
Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://www.zzzzzzzzzzzz.ru/test_otherphp_server.php. (Причина: отсутствует заголовок CORS 'Access-Control-Allow-Origin').
Что с этим делать?
Мне это нужно чтобы распараллелить нагрузку между 2мя серверами. Т.е. загружается php скрипт с одного сервера в нем по таймеру посылается ajax ($.getJSON) запрос либо к этому же серверу либо к другому. Если к одному и тому же серверу соответственно проблем нету, а если к другому это политика безопасности браузеров? Как обойти данную проблему?

К тому же нужно общение между 2мя серверами запросами к php скриптам, в этой ситуации может возникнуть та же проблема?
Illusiony вне форума Ответить с цитированием
Старый 19.03.2016, 20:55   #2
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

на стороне второго сервера отсылать заголовок
Код:
 header("Access-Control-Allow-Origin: *");
где * - доступ разрешен от каждого хоста, вместо хоста можно указать домен

а так я бы сделал бы балансировшик на стороне nginx между двумя хостами
CodeNOT вне форума Ответить с цитированием
Старый 20.03.2016, 15:37   #3
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Цитата:
Сообщение от CodeNOT Посмотреть сообщение
на стороне второго сервера отсылать заголовок
Код:
 header("Access-Control-Allow-Origin: *");
где * - доступ разрешен от каждого хоста, вместо хоста можно указать домен

а так я бы сделал бы балансировшик на стороне nginx между двумя хостами
Спасибо.
Ну я собираюсь либо полностью либо частично перенести загрузку изображений на второй сервер, меня теперь интересует балансировка запросов к MySQL, а для этого нужно по команде на второй сервер переносить одну небольшую таблицу MyIsam и небольшой кусок из такблицы( или таблиц) Memory MySQL. Каким образом проще сделать перенос( обновление) таблиц с одного сервера на другой?
Не могли бы Вы дать пару ссылок по балансировшику на стороне nginx, которые вы считаете удачными.

И возник небольшой вопрос:
сейчас на стороне откуда запускается скрипт:
Код:
<?php
echo "
<html>
<head>
  <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
  <script type='text/javascript' src='http://xxxxxxxxxxx.ru/golos/jquery-2.1.4.js'></script>
  <script type='text/javascript' src='http://xxxxxxxxxxx.ru/golos/modernizr.custom.37432.js'></script>
  <script type='text/javascript' src='http://xxxxxxxxxxx.ru/golos/main.js'></script>
  <title> $login</title>
</head>
<script>
timer_setint=setInterval(function() 
	{ $.getJSON('http://www.xxxxxxxxx.ru/test_otherphp_server.php', function(data) {зрителя на страничке 
		document.write(data[1]);
		});
	
		}, 3000);
</script>
</body>
 </html>
";
?>
Код вызываемого скрипта на другом сервере:
Код:
<?php
header('Access-Control-Allow-Origin: *');
$n[1]='sdsdsdsd';
echo json_encode($n);

?>
В Хроме все нормально , каждые 3 сек добавляется sdsdsdsd к строке, а вот в firefox отобразилось 1 раз и показывает на самой вкладке браузера "Соединение" и постоянно крутится кружок, при этом в Firebag все вкладдки пустые - ничего не происходит.

В чем причина такого поведения firefox?

Последний раз редактировалось Illusiony; 20.03.2016 в 17:56.
Illusiony вне форума Ответить с цитированием
Старый 21.03.2016, 12:43   #4
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

По-поводу синхронизации бд: делайте репликацию, не навешивайте свой костыль, почитать можно тут: http://www.mysql.ru/docs/man/Replication.html

что касается firefox сказать не могу, напишите хотя бы версию которую используйте + логируйте сам запрос, шлет ли он его вообще? А так, тут вот указано, какие заголовки лиса хавает что бы кроссдомен слать


+ ссылка про то, как балансировшик настроить и использовать: http://nginx.org/ru/docs/http/ngx_ht...am_module.html
CodeNOT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение данных из базы Access из ресурса Аватар БД в Delphi 9 27.06.2013 16:42
FAT, секторы, кластеры чтение и работа со всем этим через C++ Builder Andersen1313 C++ Builder 27 02.08.2012 14:30
Что делать с этим процессом, WinXP Gogent Операционные системы общие вопросы 1 28.03.2012 16:31
Dr.Web находит вирус.Что можно делать с этим? DeKot Безопасность, Шифрование 13 12.06.2009 00:36