/ / Varnish (3.0.3) i Facebook Connect (wordpress na Nginx) - Facebook, Wordpress, lakier

Lakier (3.0.3) i Facebook connect (wordpress na nginx) - facebook, wordpress, lakier

Mam problemy z konfiguracją default.vcl z Varnish 3.0.3 aby umożliwić logowanie się do mojej witryny za pośrednictwem FacebookaPołączyć. Interfejs API Facebooka jest poprawnie skonfigurowany, ale wygląda na to, że moja witryna nie „loguje się”, mimo że odwiedzający został zwrócony z Facebooka po „zalogowaniu”. Rejestracja zakończyła się pomyślnie i jest zapisywana w mojej bazie danych.

Czy ktoś może mi pomóc skonfigurować mój default.vcl? Spędziłem dni próbując znaleźć informacje, które pomogą mi w Internecie, ale ja a) nie znam się zbyt dobrze Varnish oraz b) obecnie nie ma zbyt wielu informacji.

Najbliższe rozwiązanie to: http://drupal.org/node/1196916#31

Moja konfiguracja lakieru: http://pastebin.com/LWGRey8e

Obecnie używam WP-FB AutoConnect wordpress i skontaktowałem się z autorem wtyczki, ale nigdy nie słyszał o Varnish: -s

Inne szczegóły:

Adres URL witryny: livefeeedietravelling (dot com)

Lakier: 3.0.3

Wersja Wordpress: 3.5

Serwer: nginx / 1.2.6 (z APC)

Odpowiedzi:

1 dla odpowiedzi № 1

Udało mi się rozwiązać problem, posługując się plikami cookie innymi w sub vcl_recv sekcja varnish.vcl.

# admin users & facebook logged in users always miss the cache
if( req.http.Cookie ~ "wordpress_logged_in_" || req.http.Cookie ~ "fbsr_"
|| req.http.Cookie ~ "comment_author_"
){
return (pass);
}

ten sam kod może być użyty w `sub vcl_fetch w zależności od tego, jak chcesz go obsłużyć.

Dziękuję wszystkim za pomoc, mam nadzieję, że jest to przydatne dla niektórych.


0 dla odpowiedzi nr 2

Domyślne vcl_hash ma skrót tylko dla adresu URL i hosta,czy to możliwe, że musisz do tego dodać plik cookie? Widziałem, że opublikowałeś nieaktualne vcl_hash w innym wątku. Aktualna wersja lakieru 3 wyglądałaby mniej więcej tak:

sub vcl_hash {
hash_data(req.url);
hash_data(req.http.host);
if (req.http.Cookie) {
hash_data(req.http.Cookie);
}
return (hash);
}