Po nahrání na server 504, log je prázdný

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Neas
Člen | 43
+
0
-

Ahoj,
mám web v Nette, ale když ho nahraji na server, stránka se jen načítá a nakonec zahlásí z mě neznámého důvodu chybu 504 Gateway Time-out. Jak bych měl teď postupovat? Přes google jsem žádné řešení nenašel :/ log i temp maj chmod 777, žádná chyba se nezalogovala.

Děkuju za každou radu

iguana007
Člen | 970
+
0
-

Já bych hledal chybu asi v konfiguraci serveru, než v aplikaci. Když tam dáš třeba jen prázdný soubor s phpinfo(), tak se to načte?

Neas
Člen | 43
+
0
-

zvláštní, při prvním načtení zahlásí 502, při druhém hlásí už 504, ale i na fóru, které je na úplně jiné subdoméně.

voda
Člen | 561
+
0
-

Ahoj, o jaký hosting se jedná? Něco podobného (nebo stejného) se mi stalo u klenot.cz. Aktualizace na Nette 2.0.5 by to měla vyřešit.

Neas
Člen | 43
+
0
-

jedná se přesně o klenot.cz. update na 2.0.5 problém nevyřešil

voda
Člen | 561
+
0
-

Byl to bug #719.
Určitě si smaž cookies z prohlížeče a možná budeš muset chvíli vyčkat nebo to vyzkoušet z jiné ip adresy. Myslím, že se to chovalo cca takto:

  1. Nette nastartuje session a díky chybě přijde od serveru nevalidní sessionid
  2. Při dalším požadavku odešle prohlížeč cookie s neplatným sessionid
  3. server (suhosin) to vyhodnotí jako útok a na nějaký čas danou ip adresu zablokuje
Neas
Člen | 43
+
0
-

už pár hodin čekám, než se mi to zase odblokuje, pak zkusim s vymazanýma cookies a dám vědět. díky

Neas
Člen | 43
+
0
-

tak teď to už, zdá se, funguje, ale nastal jiný problém. úvodní stránka se zobrazí v pořádku, ale při přechodu kamkoli jinam, mi stránka nahlásí:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, info@klenot.cz and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

odkaz na živou ukázku: http://testing.rpg2heaven.cz/
chyba nastane při jakékoli možnosti v menu kromě fóra, registrace a zapomenutého hesla, ty odkazují mimo nette.

iguana007
Člen | 970
+
0
-

Ukaž htaccess a routy

Neas
Člen | 43
+
0
-

Na localku všechno jde bez problémů.

.htaccess (vůbec sem neměnil)

# Apache configuration file (see httpd.apache.org/docs/2.2/mod/quickreference.html)

# disable directory listing
Options -Indexes

# enable cool URL
<IfModule mod_rewrite.c>
	RewriteEngine On
	# RewriteBase /

	# prevents files starting with dot to be viewed by browser
	RewriteRule /\.|^\. - [F]

	# front controller
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>

# enable gzip compression
<IfModule mod_deflate.c>
	AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>

# allow combined JavaScript & CSS. Inside of script.combined.js you could use <!--#include file="script.js" -->
<IfModule mod_include.c>
	<FilesMatch "\.combined\.(js|css)$">
		Options +Includes
		SetOutputFilter INCLUDES
	</FilesMatch>
</IfModule>

routy:

$container->router[] = new Route('', 'News:default');
$container->router[] = new Route('<presenter>/<id [0-9]+>[/page-<comments-paginator-page>]', array('action' => 'view'));
$container->router[] = new ListRoute('<presenter>[/<section>][/page-<listPaginator-page>]', array('Admins', 'Modes', 'Terms', 'Mycontent', 'Add', 'Midi', 'Gallery'));
$container->router[] = new Route('midi/<action>[/page-<listPaginator-page>]', array('presenter' => 'Midi'));
$container->router[] = new Route('gallery/<action>[/page-<paginator-page>]', array('presenter' => 'Gallery'));
$container->router[] = new Route('<action>[/page-<listPaginator-page>]', array('presenter' => 'Static'));
$container->router[] = new Route('<presenter>/<action>[/<id>]');

ListRoute:

class ListRoute extends Route
{
    private $forbiddenRequests;

    public function __construct($mask, $forbiddenRequests = array())
    {
        parent::__construct($mask, array('action' => 'list'), 0);
        $this->forbiddenRequests = $forbiddenRequests;
    }

    public function match(IRequest $request)
    {
        $appRequest = parent::match($request);
        $lowerForbiddenRequests = array();
        foreach ($this->forbiddenRequests as $request)
            $lowerForbiddenRequests[] = strtolower($request);
        if ($appRequest === NULL ||
                in_array($appRequest->presenterName, $this->forbiddenRequests) ||
                in_array($appRequest->parameters['section'], $lowerForbiddenRequests))
            return NULL;
        $section = $appRequest->parameters['section'];
        if (isset($section) && !isset($appRequest->parameters['listPaginator-page']))
        {
            if (strpos($section, 'page') === 0)
            {
                $page = explode('-', $section);
                $params = array(
                    'action' => 'list',
                    'section' => NULL,
                    'listPaginator-page' => (int) $page[1]
                );
                $appRequest->parameters = $params;
            }
            return $appRequest;
        }
        return $appRequest;
    }
}

Editoval Neas (11. 9. 2012 21:18)

iguana007
Člen | 970
+
0
-

To vypadá imho ok.
A do logů máš přístup? Tam ta chyba bude vypsaná …

Neas
Člen | 43
+
0
-

log je prázdnej

Jan Endel
Člen | 1016
+
0
-

Routy můžou být ok, ale to co jsi postnul je chybová hláška appache, takže k Nette to ani nedoleze, čili pořádně si zalaborovat z .htacessem a zkusit to nák přesměrovat (nebo využít služeb SimpleRouteru)

voda
Člen | 561
+
0
-

Zkus odkomentovat RewriteBase v .htaccess.

Neas
Člen | 43
+
0
-

voda: odkomentování RewriteBase pomohlo, díky moc :) v .htaccess se vůbec nevyznám

Editoval Neas (12. 9. 2012 18:43)