nginx no reenvía aguas arriba

Tengo un servidor de paster que está configurado para alojar varias aplicaciones con proxy nginx. Por alguna razón, parece que las solicitudes no se envían en sentido ascendente desde nginx. Recibo errores 404 en el cliente, y el único "error" que puedo encontrar en mis registros es la siguiente línea de nginx_error.log (que se genera aproximadamente una vez cada 5 segundos):

2012/06/12 10:29:37 [info] 22289#0: *49 el cliente cerró la conexión prematuramente al leer la línea de solicitud del cliente, cliente: 192.168.10.135, servidor: localhost

Un poco de tiempo de calidad en Google indica que este no es un problema que rompa la aplicación, pero es todo lo que tengo que hacer ahora.

nginx.access.log simplemente imprime la siguiente línea cada 5 segundos:

--[12/Jun/2012:10:31:13 -0400]-4000--

No se imprime ninguna entrada de las acciones del usuario en el registro de la aplicación, a pesar de que hay varios mensajes de registro en la aplicación.

Como referencia, mi nginx.cfg se ve así:

daemon             off; 
error_log          /APP_DIRECTORY/logs/nginx_error.log info; 
pid                /APP_DIRECTORy/var/nginx.pid; 
worker_processes   1;  
working_directory  /APP_DIRECTORY/var/;  

events {
  worker_connections 1024; 
}


http {   
  # the three parameters for *_temp_path MUST be here or nginx will not start   
  client_body_temp_path /APP_DIRECTORY/var/lib/nginx/body;   
  proxy_temp_path       /APP_DIRECTORY/var/lib/nginx/proxy;   
  fastcgi_temp_path     /APP_DIRECTORY/var/lib/nginx/fastcgi;   
  include               /etc/nginx/mime.types;   
  default_type          application/octet-stream;  

  log_format            main $http_x_forwarded_for - [$time_local] "$request" $status $body_bytes_sent  "$http_referer" "$http_user_agent";  
  sendfile              on;   
  keepalive_timeout     0;   
  tcp_nodelay           on;  

  gzip                  on;   
  Gzip_proxied          any;   
  gzip_types            text/plain text/html application/json application/xml;

  upstream app_paste {
    server 127.0.0.1:8001;
    #server 127.0.0.1:8002;
    #server 127.0.0.1:8003;
    #server 127.0.0.1:8004;
    #server 127.0.0.1:8005;
    #server 127.0.0.1:8006;
    #server 127.0.0.1:8007;
    #server 127.0.0.1:8008;
    #server 127.0.0.1:8009;
    #server 127.0.0.1:8010;
    #server 127.0.0.1:8011;
    #server 127.0.0.1:8012;   
  }

  server {
    listen 8000;
    server_name localhost;
    access_log /app_DIRECTORY/logs/nginx.access.log main;

    location /crossdomain.xml {
      root /APP_DIRECTORY/www;
    }

    location /v1 {
      proxy_pass http://app_paste;
    }

    location /v2 {
      proxy_pass http://app_paste;
    }   
  } 
}

La configuración de mi aplicación se ve así:

[DEFAULT]  
loglevel = INFO  
beaker.session.cookie_expires = true  
beaker.session.lock_dir = .
beaker.session.type = mongodb  
beaker.session.url = mongodb://MONGO_HOST:MONGO_PORT/beaker.sessions?slaveok=true  
beaker.session.skip_pickle = true  

[composite:main]  
use = egg:Paste#urlmap  
/v1/cust1 = cust1  

[app:cust1]  
paste.app_factory = appservice.main:make_app  
company = customer1  
db_host = DB_HOST  
db_port = DB_PORT  
db_name = DB_NAME  
DATA_COLLECTION = customer_data  
USERS_COLLECTION = customer_users  
REPORT_PARAM_1 = REPORT_PARAM_1_DATA  
REPORT_PARAM_2 = REPORT_PARAM_2_DATA  
REPORT_PARAM_3 = REPORT_PARAM_3_DATA  
REPORT_PARAM_4 = REPORT_PARAM_4_DATA  
REPORT_PARAM_5 = REPORT_PARAM_5_DATA  
REPORT_PARAM_6 = REPORT_PARAM_6_DATA  

[server:main]  
use = egg:Paste#http    
host = 0.0.0.0  
port = %(app_port)s

¿Qué podría estar causando este problema? ¿Hay algún problema en mi configuración?

preguntado el 12 de junio de 12 a las 16:06

que es la salida de $ rizo 127.0.0.1:8001? -

curl 127.0.0.1 da: Extraviado Extraviado No se pudo encontrar el recurso. / Servidor WSGI -

Cuando intento acceder al servicio de inicio de sesión directamente a través de curl 127.0.0.1:8001/v1/app/login (el primer servicio al que puede acceder y donde se vio este problema por primera vez), obtengo la respuesta correcta. -

en primer lugar, intente simplificar la configuración y obtenga el registro de error/acceso con algo: deje solo 1 ubicación proxy_pass, vincúlelo a la ubicación raíz y verifique todos los registros:

Cambié la configuración a solo 1 proxy_pass y la configuré en "/", pero todavía no puedo obtener ninguna entrada de registro que no sea la que publiqué. -

1 Respuestas

Cambié la forma en que procesaba mis archivos de configuración para usar argumentos pasados ​​a mi fábrica de aplicaciones en lugar de analizar manualmente el archivo desde la aplicación. Por alguna razón que no entiendo en absoluto, esto parece haber resuelto el problema. @mikhailov, gracias por todo su tiempo y ayuda.

Respondido el 14 de junio de 12 a las 14:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.