Google Chrome не выполняет POST в приложении Facebook Canvas Tab - PullRequest
4 голосов
/ 26 ноября 2011

Я думаю, что это сложный вопрос.

Я настроил приложение для Facebook со следующими параметрами:

Page Tab URL: https://www.myapp.com.br/
Secure Page Tab URL: https://www.myapp.com.br/

(оба являются защищенными URL и используют протокол HTTPS)

Браузеры, такие как Firefox и Safari, работают нормально, отправляя POST-запрос на сервер, когда я открываю вкладку страницы по протоколу http или https.

Однако Google Chrome выполняет запрос GET при использовании facebook с http. Этот запрос не содержит подписанного запроса.

Я потратил много времени, пытаясь это исправить, и я до сих пор не понимаю, почему это происходит. Кто-нибудь может объяснить и предоставить решение?

Обновление (подробнее)

Приложение было написано с Ruby on Rails. Он был развернут с помощью Nginx + Passenger. Ниже приведена конфигурация приложения с помощью nginx:

server {
    listen 80;
    listen 443 default ssl;
    server_name  www.myapp.com.br;
    passenger_enabled on;
    root /my/app/rails/folder/public;

    # workaround to get rid of infinite loops while using ssl
    passenger_set_cgi_param HTTP_X_FORWARDED_PROTO https;

}

Конфигурация Rails для принудительного использования ssl.

Журнал доступа Nginx с запросом Firefox на вкладку страницы facebook:

201.87.25.128 - - [25 ноября 2011 года: 19: 16: 47 -0200] "POST / HTTP / 1.1" 200 9693 "http://static.ak.facebook.com/platform/page_proxy.php?v=4" «Mozilla / 5.0 (Macintosh; Intel Mac OS X 10.7; версия 6.0.2) Gecko / 20100101 Firefox / 6.0.2"

Журнал доступа Nginx с запросом Google Chrome на вкладку страницы facebook:

201.87.25.128 - - [25 ноября 2011 года: 19: 19: 07 -0200] "GET / HTTP / 1.1" 200 9678 "http://static.ak.facebook.com/platform/page_proxy.php?v=4" «Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit / 535.2 (KHTML, как Gecko) Chrome / 15.0.874.121 Safari / 535.2 "

Журнал доступа Nginx с запросом Google Chrome на Facebook SECURE вкладка страницы:

201.87.25.128 - - [25 / Nov / 2011: 19: 18: 43 -0200] "POST / HTTP / 1.1" 200 9678 "https://s -static.ak.facebook.com / platform / page_proxy.php ? v = 4" «Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit / 535.2 (KHTML, как Gecko) Chrome / 15.0.874.121 Safari / 535.2 "

1 Ответ

0 голосов
/ 22 декабря 2011

это не относится ни к фьюжн-пассажиру, ни к рубину или ssl. Минимальный пример для воспроизведения этого поведения можно найти здесь .

...