Configuração de proxy NGINX

1

Eu tenho um servidor de aplicativos unicórnio executando um aplicativo rails e um servidor tilestream atendendo ladrilhos um escuta no soquete unix local e o outro em 127.0.0.1:8888 aqui está minha conifg:

upstream unicorn_server {
   server unix:/var/www/fulcrumapp/tmp/sockets/unicorn.sock;
}

  client_header_buffer_size 128k;
  large_client_header_buffers 4 128k;

  server {
            listen 80;
            server_name servername.com;
            keepalive_timeout 30;
            root   /var/www/servername/public/;
                        location / {
                          proxy_set_header  X-Real-IP  $remote_addr;
                          proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
                          proxy_set_header Host $http_host;
                          proxy_redirect off;

                          client_max_body_size 300m;

                          if (!-f $request_filename) {
                                           proxy_pass http://unicorn_server;
                                           break;
                          }
            }
}

upstream tiles {
    server 127.0.0.1:8888;
}

server {
    listen 8080;
    server_name tiles.servername.com;
    access_log /var/www/servername/log/tilestream-tiles.access.log;
    error_log /var/www/servername/log/tilestream-tiles.error.log debug;

    location / {
        proxy_set_header Host $http_host;
        proxy_pass http://tiles;
    }
}

o primeiro servidor funciona bem ... o servidor "tiles" retrocede "bad request" 400 erros

no servidor local em execução: curl 127.0.0.1:8888

busca a página como esperado

acertando tiles.servername.com:8080 falha.

esta é uma instância do amazon EC2 onde o IP público não é o IP do servidor local mas eu não acho que a camada amazon do NAT esteja atrapalhando.

o sistema operacional do servidor é o Ubuntu 11.04

depure o log nginx aqui: link

    
por sysconfig 05.09.2011 / 02:14

1 resposta

2

Entendi, começo de:

tilestream server starting with --host tiles.servername.com

Em seguida, edite /etc/hosts/ no servidor:

127.0.0.1  tiles.servername.com

Em seguida, configuração de proxy como acima.

A "Solicitação incorreta" estava vindo do servidor tilestream.
O --host parameter especifica os únicos hosts que aceitarão conexões de.

    
por 05.09.2011 / 15:28