Miłosz 2311 Zgłoś post Napisano Październik 10, 2013 Jest sobie apache 2.4.3 z modułem proxy i php-fpm: ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/$1 Wszystko fajnie sobie działa.. ale.. Coś nie chce trybić błąd 403 (Forbidden). Zamiast niego pojawia się File not found. Tak jakby proxy z fpm wymuszało posiadanie index.php w katalogu. A no właśnie nie ma być tam indexu, tylko jest htaccess ze zdefiniowanym 403: ErrorDocument 404 /adm/404.html ErrorDocument 403 /adm/403.html 404 działa bez problemu i wyświetla się zawartość pliku html. Ma ktoś jakiś pomysł jak zmusić go do wyświetlania 403? Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Październik 10, 2013 Wrzuć do htaccessa linijkę DirectoryIndex disabled Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Październik 10, 2013 Takie rozwiązanie trybi. Ale Jeśli do katalogu wróci plik index.php to dobrze by było jakby się otworzył. Udostępnij ten post Link to postu Udostępnij na innych stronach
Misiek08 285 Zgłoś post Napisano Październik 10, 2013 Nie wiem jak to dokładnie wygląda, ale może zrozumiesz co kombinuję: RewriteCond %{REQUEST_FILENAME} -f ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/$1 Z Apache nie pomogę, bo od dawna przekonałem się do nginx'a, ale z tego co pamiętam z przerabianych .htaccess'ów na nginx'owy config to taka kombinacja sprawdza czy jest plik i dopiero wtedy robi coś dalej. File not found. to błąd php-fpm'a, czyli tak jakby Apacz zapominał już o sprawdzaniu czy plik istnieje. Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Październik 11, 2013 ale z tego co pamiętam z przerabianych .htaccess'ów na nginx'owy config to taka kombinacja sprawdza czy jest plik i dopiero wtedy robi coś dalej To jest prawda, ale tylko częściowa prawda. RewriteCond oczywiście sprawdzi ci, czy plik istnieje... ... ale jest to metoda stricte mod_rewrite, czyli w tym kontekście możesz użyć co najwyżej RewriteRule. Z Apache nie pomogę, bo od dawna przekonałem się do nginx'a Właśnie widać Niestety, RewriteCond to nie jest stuprocentowy odpowiednik nginx'owego location. W nginx tam możesz robić sobie praktycznie cały config, a tu - tylko przepisywać adresy. A czemu tak się dzieje? Wyjaśnienie jest bardzo proste. Uaktywnienie w danym kontekście proxy powoduje, że serwer przekazuje pasujące żądania do backendu [dowolnego - czy to fcgi, czy innego hosta http, czy serwer ftp...) z automatu (bo i czemu miał by to analizować lokalnie, skoro jest tylko PROXY?). Backend próbuje otworzyć plik i twierdzi, że nie bardzo może to wykonać, bo ta lokalizacja nie istnieje. A sam serwer próbuje go otworzyć dlatego, że analizując DirectoryIndex wybiera pierwszy dostępny zasób. A że tu tym zasobem jest odwołanie do proxy to cóż... Staje się on dostępny Warto też dodać, że kolejne wystąpienia DirectoryIndex w konfiguracji... doklejają wartość do poprzednich. Żeby wyzerować listę, trzeba jawnie ustawić na disabled (i ewentualnie od nowa po tym zbudować listę indeksów). Jeśli chcesz sobie zablokować jedynie indeksowanie, a zapewnić możliwość, że jak plik z indeksem się pojawi, to... ... po prostu stwórz teraz pusty index.php 1 Udostępnij ten post Link to postu Udostępnij na innych stronach
Misiek08 285 Zgłoś post Napisano Październik 11, 2013 Czyli w Apache ProxyPass powoduje, że Apache już nic nie sprawdza, nic nie robi tylko forwarduje. W takim raziem @autor musi inaczej odwoływać się do PHPa. Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Marzec 16, 2014 Może ktoś już wykombinował jak ten problem obejść? #edit projekt z fastcgi jest dalej rozwijany: https://github.com/ByteInternet/libapache-mod-fastcgi kompiluje się i działa z apachem 2.4 bez problemu Także, że na chwilę obecną użyję fastcgi Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość nrm Zgłoś post Napisano Marzec 17, 2014 "rozwijany" to trochę na wyrost bo w ciągu 2 lat cisza (a 2 poprawki kosmetyczne). Z kolei w najnowszym Apache w końcu są 2 istotne fixy (m.in. w końcu proxy po socketach) ale dalej inne istotne, od lat zgłaszane błędy leżą odłogiem. Tak się zarzekali, że deweloperka przyspieszy a jest taka sama bryndza jak była wcześniej. Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Marzec 17, 2014 Ale zrobili fix na kompilacje z 2.4 Udostępnij ten post Link to postu Udostępnij na innych stronach