Portál AbcLinuxu, 9. května 2025 19:23

Dotaz: lighttpd + fcgi: jak odeslat 404

19.1.2009 10:15 kokoska.rokoska
lighttpd + fcgi: jak odeslat 404
Přečteno: 281×
Odpovědět | Admin

Zdravim,

mam ponekud priblbly dotaz: mam v "C" s dopomoci FCGI knihoven napsany jednoduchy FastCGI programek, ktery provozuji s lighttpd a vse funguje zhruba tak, jak ocekavam.

Bohuzel nyni potrebuji v nekterych pripadech timto "programkem" odpovedet 404. A zatim jsem neprisel na to, jak se googlu spravne zeptat :-)

BTW: Ze zoufalstvi jsem zkousel neco jako:

FCGX_FPrintF(out, "HTTP/1.1 404 Not Found");

Ale lighty stale posila 200 OK...

 

Za jakekoliv k cili vedouci nakopnuti bych byl velmi vdecen :-)

 

Hezky den!

kokoska.rokoska

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.1.2009 12:46 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: lighttpd + fcgi: jak odeslat 404
Odpovědět | | Sbalit | Link | Blokovat | Admin

FastCGI applications set response status using the Status and Location CGI headers.

Zkus nastavit hlavičku Status: 404 Not Found.

 

Mimochodem, dokumentace FastCGI je nic moc a vůbec celé FastCGI je takové nějaké podivné, osobně nechápu jak se to mohlo ujmout :-)

19.1.2009 13:49 kokoska.rokoska
Rozbalit Rozbalit vše Re: lighttpd + fcgi: jak odeslat 404

Diky moc za odpoved, pane kolego Messo!

 

Neco takoveho tez tusim, ale nevim jak zaslat/nastavit/zmenit http hlavicku :-)

Pokus:

FCGX_FPrintF(out, "Status: 404 Not Found\r\n");

k cili nevede (a vynechani r\n take nic neresi)...

Mohl bys mi, prosim, jeste trochu napovedet?

 

BTW: Ze dokumentace k FastCGI neni "nic moc" si myslim tez, ale kdyz potrebuji "za kazdou cenu" maximalizovat pocet odbavenych requestu za sekundu, tak mi asi nic jineho nezbyva :-)

 

Hezky den!

 

kokoska.rokoska

19.1.2009 14:17 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: lighttpd + fcgi: jak odeslat 404

Zajímavé, mě to funguje: http://fcgipokus.messa.cz/ (zkus tu adresu zadat třeba sem, uvidíš HTTP status)

Použil jsem příklad http://www.fastcgi.com/devkit/examples/echo-x.c a upravil jsem ho takto:

--- echo-x.c  
+++ moje.c   
@@ -50,6 +50,7 @@
         int len = 0;

         FCGX_FPrintF(out,
+          "Status: 404 Not Found\r\n"
            "Content-type: text/html\r\n"
            "\r\n"
            "<title>FastCGI echo (fcgiapp version)"

Pak už jenom...

$ gcc -o moje -lfcgi moje.c

Nastavení lighttpd:

$HTTP["host"] == "fcgipokus.messa.cz" {
        fastcgi.server = (
                "/" => ((
                        "host" => "127.0.0.1",
                        "port" => 22222,
                        "bin-path" => "/.../moje",
                ))
        )
}
19.1.2009 15:15 kokoska.rokoska
Rozbalit Rozbalit vše Re: lighttpd + fcgi: jak odeslat 404

Jasne, ze to funguje, pane kolego Messo!

 

A me by to fungovalo taky, kdybych nebyl pako, ktere si "sachovanim" s pointry nakopirovalo nejaky bordel do vystupniho bufferu :-)

Takze lighty celkem opravnene pred to vsechno "predradil" 200 OK...

 

Dekuji Ti, pane kolego Messo, za pomoc a vsem se omlouvam za vlastni pitomost.

 

Hezky den!

 

kokoska.rokoska

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.