Mam wiele przekierowań w serwerze WWW maszyny wirtualnej, które działają podczas przeglądania serwera za pomocą wbudowanego nawigatora (iceweasel). Ale to nie działa podczas uzyskiwania dostępu do serwera z przeglądarek urządzenia hostingowego (testowane z FF4/IE8/Chrome/Opera11).Przekierowywanie php - nagłówki HTML
Wszystkie doświadczone metody przekierowania prowadzą do "serwera niedostępnego lub przeciążonego" w przeglądarkach komputerów hostujących.
Jeśli można mieć wygląd nagłówków z dzienników Apache i dać kilka wskazówek na temat różnic (główny wygląda na url GET, pod warunkiem, że ten sam kod działa):
robocza wniosek prowadzi do tego dziennika:
cat /var/log/apache2/access.log | grep 127 | grep random | tail -n1
127.0.0.1 - authuserid [26/Jun/2011:11:11:52 +0200]
"GET /index.php?page=100 HTTP/1.1" 200 49151
"https://www.mydomain.foo/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788&random=c0117685e7e65a307989c219efc587b4&sid=n7en2it41h2gumrcq3kmmil3c0&sidf=.ps_AWDkIY"
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.19) Gecko/2011050718 Iceweasel/3.0.6 (Debian-3.0.6-3)"
dla pracy wniosek prowadzi do tego dziennika:
cat /var/log/apache2/access.log | grep 192 | grep random | tail -n1
www.mydomain.org:80 192.168.X.Y - authuserid [26/Jun/2011:11:08:07 +0200]
"GET /index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788&random=685de8bcd4d198d6ad7f3cf4b23de5b7 HTTP/1.1" 302 -
"http://www.mydomain.foo/index.php?page=xyz"
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"
Nie mogę wyświetlić odpowiedzi nagłówka, ponieważ nie otrzymuję odpowiedzi i nie zgłoszono żadnego błędu zgłaszanego przez apache (loglevel = error).
Thx
Kontrole przeprowadzone:
I zwiększyły przeglądarek Timeout (FF: network.http.keep-alive.timeout do 3600s. Bez zmian
Sprawdziłem, że żadne nagłówki zostały wysłane wcześniej do przekierowania: ok (zrzut headers_sent() pokazuje żadnych nagłówki wysyłane ani pusty wiersz lub miejsca w includes,)
mam zwiększony limit czasu serwera Apache na wszelki wypadek: bez zmian
Upewniłem korzystania bezwzględny URL od HTTP/1.1. Próbowałem php, html meta i JS przekierowanie: brak zmian
EDIT 1:
Oto nagłówki widziany przez livehttpheaders w przypadku "bez pracy":
http://www.mydomain.org/menus/noeud4.php
/menus/noeud4.php POST HTTP/1.1 Host
: www.mydomai n.org
Użytkownik-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv: 2.0.1) Gecko/20100101 Firefox/4.0.1
Accept: text/html, application/xhtml + xml, application/xml, Q = 0,9, / q = 0,8
Accept-Language: fr , fr-fr; q = 0,8, en-us; q = 0,5, en; q = 0,3
Zaakceptuj kodowanie: gzip, deflate
Akceptuj-zestaw znaków: ISO-8859-15, utf-8; q = 0,7 , *; q = 0.7
Keep-Alive: 3600
DNT: 1
Connection: keep-alive
Referer: http://www.mydomain.org/index.php?page=890
Cookie: PHPSESSID = 4bge5gg1rgkit78k3seqlfcbq2
odpowiedzialny: Podstawowe aW52aXRlZEBjYW1hY2FzYTp5b3VybXlndWVzdEB0b2RheQ ==
Content-Type: application/x- www-form-urlencoded
Content-Length: 98
logowanie = my_superlogin1 & pwd1 = vbigpass3xqz% 40A2L & captcha = 91690 & source = noeud4.php &> formulaire_valide = SOUMETTRE
HTTP/1.1 302 Found
Data: Sun, 26 czerwca 2011 14:17:27 GMT
Server: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_fastcgi/2.4 .6 mod_python/3.3.1 Python/2.5.2> mod_ssl/2.2.9 OpenSSL/0.9.8g PHP/5.3.3
X-Powered-By: PHP/5.3.3
Wygasa: czw, 19 listopada 1981 08:52:00 GMT
cache-Control: no-store, no-cache, must-revalidate, post-check = 0, pre-check = 0
Pragma: no-cache
Lokalizacja: http://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788
Co. ntent-Length: 0
Keep-Alive: timeout = 60
Connection: Keep-Alive
Content-Type: text/html
http://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788
GET /index.php?page=100 & new_session = a4da9106dba2ffd40345a5eb624d7788 HTTP/1.1
Host: www.mydomain.org
Użytkownik-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv: 2.0.1) Gecko/20100101 Firefox/4.0.1
Accept: text/html, application/xhtml + xml, application/xml, Q = 0,9, / q = 0,8
Accept-Language: fr , fr-fr; q = 0,8, en-us; q = 0,5, en; q = 0,3
Zaakceptuj kodowanie: gzip, deflate
Akceptuj-zestaw znaków: ISO-8859-15, utf-8; q = 0,7 * q = 0,7
podtrzymania: 3600
DNT: 1
połączenie: keep-alive
Referer: http://www.mydomain.org/index.php?page=890
Cookie: PHPSESSID = 4bge5gg1rgkit78k3seqlfcbq2
odpowiedzialny: Podstawowe aW52aXRlZEBjYW1hY2FzYTp5b3VybXlndWVzdEB0b2RheQ ==HTTP/1.1 302 Found
Data: Sun, 26 czerwca 2011 14:19:59 GMT
Server: Apache/2.2.9 (Debian) DAV/2 SVN/1,5 .1 mod_fastcgi/2.4.6 mod_python/3.3.1 Python/2.5.2> mod_ssl/2.2.9 OpenSSL/0.9.8g PHP/5.3.3 X-Powered-By: PHP/5.3.3
Wygasa: Wed, 19 listopada 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check = 0, pre-check = 0
Pragma: no -cache
Lokalizacja: https://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788&sid=4bge5gg1rgkit78k3seqlfcbq2&sidf=.ps_Z5wRio
Content-Length: 0
Keep-Alive: timeout = 60
Connection: Keep-Alive
Content-Type: text/html
EDIT2: Porównując oba przypadki żądania/odpowiedzi (pracuje/nie pracuje), to pojedyncze następujące 2 główne różnice między innymi:
na "roboczych" odpowiedzi:
Status: 200 który Nie mam odpowiedzi "bez pracy", ale nie rozumiem dlaczego.
na "NON roboczej" odpowiedź:
DNT: 1
który stoi za opcją Do Not Track (me) from FF4.
Próbowałem więc dezaktywować tę opcję, ale ten sam wynik.
Na pewno mogę przeoczyć sthg. Wszystko wygląda tak, jakby serwer był wyłączony. Być może plik cookie sesji (76 kb) jest zbyt duży. Próbowałem również obniżyć firefox od 4 do 3.6, ponieważ ten inny zmieniony parametr, ale nadal otrzymuję taką samą odpowiedź z FF3.6 jako FF4.
Czy możesz używać LiveHTTPHeaders (dla Firefoxa) lub czegoś podobnego do oglądania nagłówków? – Halcyon
Brzmi jak problem z nazwami domen/DNS/VHosting. Czy masz ustawione aliasy w pliku VM '/ etc/hosts', które trzeba skopiować na komputer-host? Czy komputer hosta dostarcza usługi DNS do maszyny wirtualnej, która musi zostać wymieniona, gdy nie działa w maszynie wirtualnej? Jeśli żądanie hosta używa innej nazwy domeny, czy używasz VHosts Apache opartego na nazwie, może to oznaczać, że żądania z komputera hosta są kierowane do innej konfiguracji VHost. – Robin
@Frits van Campen: Thx, to właśnie próbowałem osiągnąć za pomocą firebug. Edytowałem nagłówki "blocking". – hornetbzz