nginx proxy reverso que serve de host virtual errado

1

Eu tenho um servidor Double Quad-Core Centos 6.3 com 32 GB de RAM.

Eu instalei o nginx para servir arquivos estáticos e como servidor proxy reverso para o apache como backend. O painel que estou usando é o IspConfig 3.0.5.2.

Tudo parecia ter funcionado bem no começo, mas recentemente percebi que há algo errado! O Nginx está sendo veiculado a partir da raiz incorreta do documento. Eu rastreei através do google e nginx fóruns, mas não consegui encontrar uma solução. Fiz várias modificações / alterações / alterações nos arquivos de configuração e tentei depurar os logs do nginx, mas tudo isso sem alegria!

Abaixo estão meus arquivos de configuração e trechos de registros. Por favor me ajude a resolver.

// ARQUIVO /etc/nginx/nginx.conf

# For more information on configuration, see:
#   * Official English Documentation: nginx.  org/en/docs/
#   * Official Russian Documentation: nginx. org/ru/docs/

user              apache nginx;
worker_processes  8;

error_log  /var/log/nginx/error.log warn;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    # allow long server names
    server_names_hash_bucket_size 64;

    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    index  index.html index.htm index.php;

    fastcgi_buffers 8 16k;
    fastcgi_buffer_size 32k;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    log_format mukaanyes '$remote_addr - $remote_user [$time_local] '
                  '"$request" $host "$domain" $status  $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

    # access_log /var/log/ispconfig/httpd/$domain/access.log mukaanyes;
    access_log /var/log/nginxaccess.log mukaanyes;
    #access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    tcp_nopush     on;

    server_tokens off;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #mukaanyes; Make adjustments to gzip module
    gzip  on;
    gzip_http_version 1.1;
    gzip_vary on;
    gzip_comp_level 6;
    gzip_proxied any;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x$
    gzip_buffers 16 8k;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    # Load config files from the /etc/nginx/conf.d directory
    # The default server is in conf.d/default.conf
    include /etc/nginx/conf.d/*.conf;

}
// END /etc/nginx/nginx.conf

// ARQUIVO /etc/nginx/conf.d/default.conf

server {
        listen  80 default;
        #server_name  _;
        server_name ~^(www\.)?(?P<domain>.+)$;
        server_name_in_redirect  off;
        resolver  127.0.0.1;

        root   /var/www/$domain/web;

        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
        access_log off;
        expires 30d;
                }

        location / {
                proxy_connect_timeout       600;
                proxy_send_timeout          600;
                proxy_read_timeout          600;
                send_timeout                600;

                #included fcgid.conf instead
                #fastcgi_param SERVER_NAME $domain; #avoid wrong doc_root, formerly was $host

                # proxy_pass http://$host:82;
                proxy_pass http://$domain:82;

                #mukaanyes added proxy_redirect off
                proxy_redirect off;
                proxy_set_header X-Real-IP  $remote_addr;
                proxy_set_header Host $host; #formerly was $host
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }
}
// END /etc/nginx/conf.d/default.conf

// ARQUIVO /etc/nginx/conf.d/fcgid.conf

#fastcgi.conf
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
// END /etc/nginx/conf.d/fcgid.conf

Aqui está um trecho do arquivo de log com meu formato personalizado "mukaanyes"

66.249.73.224 - - [10/Jul/2013:00:18:02 +0100] "GET /ne_demek/hatil HTTP/1.1" www,mankenresimleri,net "mankenresimleri,net" 404 4196 "-" "Mozilla/5.0 (compatib le; Googlebot/2.1; +http://www.google.com/bot.html)" "-"

/ ne_demek / hatil é um pedido para http; // nedir.anlambilim.net, mas está sendo tentado ser servido de http; // mankenresimleri.net e retorna 404; A mesma situação é comum e recíproca entre outros domínios no servidor.

Isso acontece principalmente com os dispositivos Google Bot, iPhone e Android, tanto quanto eu posso concluir a partir de registros. Não consegui reproduzir o erro na minha máquina, é visível nos registros e nos Relatórios de erros de rastreamento das Ferramentas do Google para webmasters.

Por favor ajude.

    
por M Kaan Yeşilyurt 28.07.2013 / 20:34

0 respostas

Tags