Skocz do zawartości
patryk

Fastcgi świruje

Polecane posty

Witam,

jest kombinacja Apache1 + PHP 5.2.1 + mod_fastcgi i niestety ten ostatni za cholerę nie chce przepuszczać nagłówków autoryzacyjnych mimo ustawionej opcji -pass-header HTTP_AUTHORIZATION, authorization i pochodnych. Po zwykłym CGI z SuPHP nie ma problemu. Może ktos przechodził coś podobnego i ma rozwiązanie? Bo mi się skończyły pomysły..

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przeczytałem, ale Ty nie przeczytałeś dokładnie treści witryny ;)

 

Zwróć uwagę na różnice między wersjami apache, może źle wstawiasz opcję:

 

If you are using Apache and mod_fastcgi, this method will likely not work out of the box. Apache does not allow CGI scripts access to HTTP authorization headers by default. You will need to configure FastCGI to pass the Authorization header to your scripts . Short version: add -pass-header Authorization to the FastCgiServer startup directive, or FastCgiConfig -pass-header Authorization, for Apache 2, or -pass-header HTTP_AUTHORIZATION for Apache 1. For this, you will need access to apache's config file.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Próbowałem obie opcje (także trzecią pt. "zaśnij a rozwiązanie przyjdzie samo" ale nie zadziałało). Do Apacha pierwszego prawidłowa jest HTTP_tararara. Skompiluje zaraz sobie PHP4 i sprawdzę czy fastcgi z nim działa. Tak to jest z oprogramowaniem, które miało ostatniego snapa z CVSa 3 lata temu. Bleh.

 

Edit: Na 4.4.6 to samo, niestety.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

FastCgiConfig -singleThreshold 100 -killInterval 300 -autoUpdate -idle-timeout 240 -pass-header HTTP_AUTHORIZATION

Wrapper mam w cgi-bin w /home, bawiłem się już w eksportowanie HTTP_AUTHORIZATION w nim itd, ale nadal nic.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość voytar
FastCgiConfig -pass-header Authorization

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>

if(preg_match('/Basic+(.*)$/i', $_SERVER['REDIRECT_HTTP_AUTHORIZATION'], $matches))
{
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['REDIRECT_HTTP_AUTHORIZATION'], 6)));
}

HTH, u mnie działa. Pozdrawiam.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki wielkie, Voytar. Przetestowałem, ale niestety bez zmian - testuje to sobie na PHPMyAdminie i nie loguje po prostu.. z czystym CGI idzie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość voytar

A jaki błąd Ci wyskakuje, Internal Server Error?

 

--

Zhackowałem. ;>

 

Dokładnie w ten sposób jaki podałem wyżej. ;)

 

--

Działa to dziwnie, jak wejdziesz na stronę pma to da się zalogować, jak się wylogujesz to tym formularzem, który wyskoczy nie da się ponownie zalogować, trzeba wejść ponownie na stronę logowania. Ale tak jest chyba tylko w przypadku pma, a przecież w nim można korzystać z autoryzacji cookie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Doinstalowałem sobie teraz na szybko PHP4 w trybie fastcgi do mojego DA na Debianie,

bo wiem poniekąd z czyją maszyną się teraz Patryk męczy. ;)

Wszystko ładnie działa... System sprawnie skacze po UIDach...

Rzeczywiście phpmyadmin nie chce wpuścić przy autoryzacji "okienkowej",

a przy "ciasteczkowej" wpuszcza, aczkolwiek autoryzacja via htaccess i htpasswd działa bez zarzutu.

 

[Fri Apr 20 16:34:22 2007] [error] [client 82.123.456.789] FastCGI: comm with server /usr/local/wrappers/php4.fcgi" aborted: e rror parsing headers: duplicate header 'status'

Hmmm...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@voytar: dzięki ;) później pobróbuję...

na chwilę obecną najsensowniejsze wydaje mi się zahaszowanie jednej linijki w mod_fcgi...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

bellerofont: to akurat nie u naszego kolegi (jemu na razie z racji, że chce tylko testować php5 zrobiłem zwykłe suphp), ale i tak męczy mnie ta sprawa.

 

 

voytar: nic mi nie wyskakiwało nawet, po prostu nie logował ;). Dałem autoryzację po cookie w PMA i na razie tak to zostawiam, bo nie mam chwilowo siły na to cholerstwo :D.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Będę archeologiem, ale szukałem jednego tematu trafiłem na ten i jako, że został bez rozwiązania a ktoś może mieć jeszcze problem fastcgi+phpmyadmin via http.

 

.htaccess do php na module fastcgi i phpmyadmin z autoryzacja "http".

RewriteEngine On
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×