Hola Colegas:
llevo poco tiempo con nginx, lo empece a usar como proxy inverso, realmente no me quejo de el pues es muy rápido y eficiente, pero se me empezó a complicar la situación cuando tuve que añadir un sitio que tiene una aplicación web programada a la antigua que usa en el url http://www.cm.mia.cu/registro/accion_.php?caso=1&tipo=1 para resolver los distintos enlaces a pagina, el error es:
2014/06/10 13:25:45 [error] 1798#0: *7 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.37.6, server: www.cm.mia.cu, request: "POST /registro/accion_.php?caso=1&tipo=1 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.cm.mia.cu", referrer: "http://www.cm.mia.cu/registro/"
este es el comienzo del fichero accion_.php donde crea el url.
// En caso de que estemos por salir.
if (isset($_GET['salir'])){
$_SESSION['SSUsuario'] = 0;
$_SESSION['SSIdSeccion'] = 0;
$_SESSION['SSNombSeccion'] = 0;
$_SESSION['SSIdRegistro'] = 0;
$_SESSION['Session_Login'] = '';
session_destroy();
header("Location: registrar.php");
exit;
}
// comprobando si no se ha salido de la aplicacion
if ($_SESSION['SSIdSeccion'] != ''){
switch ($_SESSION['SSIdSeccion']){
case 1: $path = "nacimiento/nacimiento.php"; break;
case 2: $path = "matrimonio/matrimonio.php"; break;
case 3: $path = "defunciones/defunciones.php"; break;
case 6: $path = "administracion/administracion.php"; break;
}
print "<script >location.replace('".$path."');</script>";
exit;
}
la configuración:
server {
listen 80;
server_name www.cm.mia.cu;
root /var/www/www.cm.mia.cu/public_html;
access_log /var/log/nginx/www.cm.mia.cu.access.log;
error_log /var/log/nginx/www.cm.mia.cu.error.log error;
location / {
proxy_pass http://192.168.37.3/registro/; #Host donde apunta
}
location ~ /accion_(.*)$ {
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
rewrite ^/accion_(.*)$ http://192.168.37.3/registro/nacimiento/nacimiento.php;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/www.cm.mia.cu/public_html$fastcgi_script_name;
}
include /etc/nginx/proxy.conf; # Incluimos la configuración del Proxy
}
2014/06/12 10:08:19 [error] 1949#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.37.6, server: www.cm.mia.cu, request: "POST /accion_.php?caso=1&tipo=1 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.cm.mia.cu", referrer: "http://www.cm.mia.cu/"
a continuación les pongo las opciones que he probado y los errores:
location ~ /accion_(.*)$ {
try_files $uri $uri/ /registro/accion_.php?caso=$1&tipo=$2;
}
2014/06/12 10:37:58 [error] 2124#0: *1 rewrite or internal redirection cycle while internally redirecting to "/registro/accion_.php", client: 192.168.37.6, server: www.cm.mia.cu, request: "POST /accion_.php?caso=1&tipo=1 HTTP/1.1", host: "www.cm.mia.cu", referrer: "http://www.cm.mia.cu/"
location ~ /accion_(.*)$ {
try_files $uri $uri/ /registro$request_uri;
}
2014/06/12 10:50:23 [error] 2236#0: *1 rewrite or internal redirection cycle while internally redirecting to "/registro/accion_.php", client: 192.168.37.6, server: www.cm.mia.cu, request: "POST /accion_.php?caso=1&tipo=1 HTTP/1.1", host: "www.cm.mia.cu", referrer: "http://www.cm.mia.cu/"
location ~ /accion_(.*)$ {
try_files $uri $uri/ /registro$request_uri;
}
2014/06/12 11:05:47 [error] 2348#0: *1 rewrite or internal redirection cycle while internally redirecting to "/registro/accion_.php", client: 192.168.37.6, server: www.cm.mia.cu, request: "POST /accion_.php?caso=1&tipo=1 HTTP/1.1", host: "www.cm.mia.cu", referrer: "http://www.cm.mia.cu/"
con esto me funciona pero carga solo una parte de la pagina a buscar en la esquina izquierda de la pantalla
location ~ /accion_(.*)$ {
rewrite ^/accion_(.*)$ http://192.168.37.3/registro/nacimiento/nacimiento.php;
}
alguna sugerencia???
gracias
Roberto Estupiñán.