Réseaux et Télécom » Serveur FastCGI sous Win32 :o
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 00:00:47,
Par zionPfiouf la j'en ai un peu marre de lighttpd sous win32, il m'oublie toujours le REQUEST_URI, c'est sympa de savoir que le script est lancé d'un serveur lighttpd mais d'avoir le REQUEST_URI serait mieux
Bref, sous win32 j'ai déjà oublié Apache, trop lourd et trop lourd (déjà dit peut être), lighttpd qui veut pas me passer le REQUEST_URI et j'ai tenté ce soir MyServer qui lui me sort un Internal Server Error, on a vu mieux aussi (et la doc est assez laconique ).
Bref, qqn a un serveur léger en tête qui supporte FastCGI sous win32 (de préférence du natif). C'est juste pour du dev, je vais pas utiliser ça en prod
Je suis le Roy
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 09:27:20,
Par didixXitami, mais pas sur du tout qu'il supporte le FastCGI en fait
Edit: ca peut-etre: http://www.icewarp.fr/products/merak_webserver/index.php
Edit2: ou IIS ?
Dernière édition: 23/05/2007 @ 09:44:43
Edit: ca peut-etre: http://www.icewarp.fr/products/merak_webserver/index.php
Edit2: ou IIS ?
Dernière édition: 23/05/2007 @ 09:44:43
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 09:36:58,
Par rfrPfiouf la j'en ai un peu marre de lighttpd sous win32, il m'oublie toujours le REQUEST_URI, c'est sympa de savoir que le script est lancé d'un serveur lighttpd mais d'avoir le REQUEST_URI serait mieux
Bref, sous win32 j'ai déjà oublié Apache, trop lourd et trop lourd (déjà dit peut être), lighttpd qui veut pas me passer le REQUEST_URI et j'ai tenté ce soir MyServer qui lui me sort un Internal Server Error, on a vu mieux aussi (et la doc est assez laconique ).
Bref, qqn a un serveur léger en tête qui supporte FastCGI sous win32 (de préférence du natif). C'est juste pour du dev, je vais pas utiliser ça en prod
Tu as les sources de lighthttpd, tu n'y regarderais pas pour voir s'il n'y a pas moyen de l'ajouter ou comprendre pourquoi il ne s'y trouve pas?
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 09:41:41,
Par rfrD'ailleurs, il semblerait que REQUEST_URI c'est prévu:
if (host->strip_request_uri->used > 1) {
/* we need at least one char to strip off */
/**
* /app1/index/list
*
* stripping /app1 or /app1/ should lead to
*
* /index/list
*
*/
if ('/' != host->strip_request_uri->ptr[host->strip_request_uri->used - 2]) {
/* fix the user-input to have / as last char */
buffer_append_string(host->strip_request_uri, "/");
}
if (con->request.orig_uri->used >= host->strip_request_uri->used &&
0 == strncmp(con->request.orig_uri->ptr, host->strip_request_uri->ptr, host->strip_request_uri->used - 1)) {
/* the left is the same */
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("REQUEST_URI"),
con->request.orig_uri->ptr + (host->strip_request_uri->used - 2),
con->request.orig_uri->used - (host->strip_request_uri->used - 2));
} else {
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("REQUEST_URI"), CONST_BUF_LEN(con->request.orig_uri));
}
} else {
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("REQUEST_URI"), CONST_BUF_LEN(con->request.orig_uri));
}
if (!buffer_is_equal(con->request.uri, con->request.orig_uri)) {
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("REDIRECT_URI"), CONST_BUF_LEN(con->request.uri));
}
if (!buffer_is_empty(con->uri.query)) {
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("QUERY_STRING"), CONST_BUF_LEN(con->uri.query));
} else {
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("QUERY_STRING"), CONST_STR_LEN(""));
}
Maintenant faut regarder un peu plus le code ... et comprendre ce qu'il fait...
if (host->strip_request_uri->used > 1) {
/* we need at least one char to strip off */
/**
* /app1/index/list
*
* stripping /app1 or /app1/ should lead to
*
* /index/list
*
*/
if ('/' != host->strip_request_uri->ptr[host->strip_request_uri->used - 2]) {
/* fix the user-input to have / as last char */
buffer_append_string(host->strip_request_uri, "/");
}
if (con->request.orig_uri->used >= host->strip_request_uri->used &&
0 == strncmp(con->request.orig_uri->ptr, host->strip_request_uri->ptr, host->strip_request_uri->used - 1)) {
/* the left is the same */
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("REQUEST_URI"),
con->request.orig_uri->ptr + (host->strip_request_uri->used - 2),
con->request.orig_uri->used - (host->strip_request_uri->used - 2));
} else {
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("REQUEST_URI"), CONST_BUF_LEN(con->request.orig_uri));
}
} else {
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("REQUEST_URI"), CONST_BUF_LEN(con->request.orig_uri));
}
if (!buffer_is_equal(con->request.uri, con->request.orig_uri)) {
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("REDIRECT_URI"), CONST_BUF_LEN(con->request.uri));
}
if (!buffer_is_empty(con->uri.query)) {
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("QUERY_STRING"), CONST_BUF_LEN(con->uri.query));
} else {
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("QUERY_STRING"), CONST_STR_LEN(""));
}
Maintenant faut regarder un peu plus le code ... et comprendre ce qu'il fait...
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 09:44:01,
Par rfrDans mot_fastcgi.c, tu pourrais toujours mettre le code du REQUEST_URI en commentaire et remplacer par:
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("REQUEST_URI"), CONST_BUF_LEN(con->request.orig_uri));
Et tu vois si ça le fait ou pas ....
fcgi_env_add(p->fcgi_env, CONST_STR_LEN("REQUEST_URI"), CONST_BUF_LEN(con->request.orig_uri));
Et tu vois si ça le fait ou pas ....
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 09:50:40,
Par rfrSinon, apparement il y a aussi une directive de configuration très parlante:
config_values_t fcv[] = {
...
{ "strip-request-uri", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_CONNECTION }, /* 16 */
...
{ NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET }
config_values_t fcv[] = {
...
{ "strip-request-uri", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_CONNECTION }, /* 16 */
...
{ NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET }
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 12:09:12,
Par philfrrfr> le problème, c'est que zion comprend rien au C
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 12:26:38,
Par ziondidix> Xitami semble pas supporter le FCGI, dommage
rfr> En fait j'ai déjà parcouru les sources de lighttpd et quand j'ai vu qu'il l'envoyait logiquement dans la source mais que le binaire lui ne trouvait pas utile de le faire, j'ai râlé... et comme j'ai aucun compilateur C++ sous windows benh...
Le strip si je me souviens bien c'est qu'il supprime tous les arguments du request_uri pour te filer ou pas, mais pas qu'il décide de ne pas te l'envoyer justement il devrait y être tout le temps.
philfr>
rfr> En fait j'ai déjà parcouru les sources de lighttpd et quand j'ai vu qu'il l'envoyait logiquement dans la source mais que le binaire lui ne trouvait pas utile de le faire, j'ai râlé... et comme j'ai aucun compilateur C++ sous windows benh...
Le strip si je me souviens bien c'est qu'il supprime tous les arguments du request_uri pour te filer ou pas, mais pas qu'il décide de ne pas te l'envoyer justement il devrait y être tout le temps.
philfr>
Je suis le Roy
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 12:29:03,
Par gizmoet Cherokee?
Concept vivant.
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 12:35:00,
Par zioncherokee je connais pas, je teste ça ASAP, thx!
Je suis le Roy
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 12:39:38,
Par philfret comme j'ai aucun compilateur C++ sous windows benh...
J'ai un jour utilisé mingw32 sous linux pour compiler un soft windows pour JC. Ca a marché nickel. (lien)
Je ne sais pas évidemment si les besoins en librairies de lighttpd ne rendent pas la chose trop fastidieuse.
Et tu ne connais personne qui a le Visual Compiler qu'il faut sur son windows pour t'aider ?
Et ton exe, il vient d'où ? Il n'y a pas une version compilée avec REQUEST_URI ?
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 13:11:51,
Par zionJ'en ai testé 3 de lighttpd...
Un trouvé ici: http://www.kevinworthington.com:8181/
Puis 2 ici: http://rogojin.googlepages.com/home
Je pense que sous *nix j'aurai pas de soucis avec lui donc pour le dev je vais juste m'en trouver un qui marche simplement... en prod si ca marche pas la je m'énerverai tout rouge
Un trouvé ici: http://www.kevinworthington.com:8181/
Puis 2 ici: http://rogojin.googlepages.com/home
Je pense que sous *nix j'aurai pas de soucis avec lui donc pour le dev je vais juste m'en trouver un qui marche simplement... en prod si ca marche pas la je m'énerverai tout rouge
Je suis le Roy
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 13:43:08,
Par didixY a aussi un Sun Java System Web Server je pense, avec module FastCGI... au cas ou.
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 13:48:05,
Par ovh
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 14:26:22,
Par rfrBon, si j'ai le temps, je te le compile ...
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 14:27:32,
Par zion
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 16:30:49,
Par zionrfr> J'ai trouvé un serveur qui fait mon bonheur pour le moment, au doux nom de Abyss, le dernier que j'avais trouvé avant d'essayer cherokee.
Je pense avoir trouvé sinon pour lighttpd, je continue mes tests, mais je pense que ce sera ok \o/
Pfiouf
Dernière édition: 23/05/2007 @ 16:31:00
Je pense avoir trouvé sinon pour lighttpd, je continue mes tests, mais je pense que ce sera ok \o/
Pfiouf
Dernière édition: 23/05/2007 @ 16:31:00
Je suis le Roy
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 16:42:16,
Par ovhRaconte Tu nous laisses saliver salopio
Je n'ai rien à voir avec www.ovh.com
Serveur FastCGI sous Win32 :o
Publié le 23/05/2007 @ 16:48:06,
Par zionBenh non, j'ai trouvé un bug chez moi, je me la ferme, lighttpd envoyait bien le request_uri
Il aura fallu que j'essaie un autre serveur qui tourne pour m'en rendre compte
Il aura fallu que j'essaie un autre serveur qui tourne pour m'en rendre compte
Je suis le Roy