Странный SSL Apache "зависает" с запросами AJAX POST - PullRequest
1 голос
/ 15 мая 2011

Я установил 2 сервера Apache, один для 80 портов и второй для 443 HTTPS. Один и тот же домен доступен через http://www.domain.com и https://www.domain.com. HTTPS работает нормально, если я захожу в Интернет с помощью браузера, страница загружается нормально.

У меня есть скрипт www.domain.com/ajax.php, который отлично работает как на 80, так и на 443, когда к нему обращается браузер (Chrome, FF, IE, ..), но на своей странице я использую Jquery для запросов ajax POST , Когда я делаю следующее, в инструментах разработчика в Chrome ничего не происходит, я просто вижу, что запрос «ожидает обработки» и вообще не выводится с сервера.

$.post('https://www.domain.com/ajax.php?action=test', {}, function() {});

Может ли быть проблема, что запрос создания страницы находится на HTTP-соединении, а запрос ajax использует HTTPS? Или есть какая-то другая причина для этого странного поведения? Также странно, что обычная страница загружается нормально, например, https://www.domain.com/ - нет проблем. Проблема с отложенными запросами появляется только при вызовах AJAX.

EDIT:

Я не знаю, важно ли это, но вот вывод из error_log этого сервера Apache2-SSL, когда был сделан один вызов AJAX:

[Thu May 19 21:05:30 2011] [info] [client 84.16.x.x] Connection to child 0 established (server www.domain.com:443)
[Thu May 19 21:05:30 2011] [info] Seeding PRNG with 144 bytes of entropy
[Thu May 19 21:05:30 2011] [info] [client 84.16.x.x] (70014)End of file found: SSL handshake interrupted by system [Hint: Stop button pressed in browser?!]
[Thu May 19 21:05:30 2011] [info] [client 84.16.x.x] Connection closed to child 0 with abortive shutdown (server www.domain.com:443)

Ответы [ 2 ]

1 голос
/ 19 мая 2011

Отправка запроса со страницы http на страницу https, к сожалению, приведет к (вроде) междоменной ошибке. Это, как вы видели, закончится ничем. Обходной путь - использовать JSON для извлечения ваших данных со страницы http на страницу https. Прочтите эту статью, и вы сможете это исправить. Удачи чувак! Другие ссылки, которые вам могут понадобиться:

API Jquery - JSON

Междоменные запросы (прокрутите вниз для JSON)

1 голос
/ 19 мая 2011

Политика одинакового происхождения:

http://en.wikipedia.org/wiki/Same_origin_policy

...