Я думаю, что это сложный вопрос.
Я настроил приложение для 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 "