ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Странное поведение nginx на 2 IP


  • To: nginx-ru@xxxxxxxxx
  • Subject: Странное поведение nginx на 2 IP
  • From: "chinchevoy" <nginx-forum@xxxxxxxx>
  • Date: Mon, 21 Mar 2011 11:04:33 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=8X3H4JJrk74IIDKxKoMDLAwtBT8H/KQgm6oHz8SxAxw=; b=auSZCbikEJTlAD7wajuxozIcd4iojyyfIneKwFI4QIzHf1+8RJB7evgOQ3LVAJi1a7UjEXkfDVpYKC+gqlyAolddE0Z3i0PYPaJpVERGh0DoFegx8fB2gfiNm+66e+N7;

Есть сервер, nginx (nginx/0.7.62) ->apache2(Apache/2.2.12
(Ubuntu), mod_php)
На сервере 2 внешних  IP.

Есть несколько сайтов на одном IP,
подключил второй IP, и стал наблюдать
такую ситуацию:

При обращении к любому домену сайта,
направленному на 2 IP, происходит
обработка первым правилом (первым в
смысле в списке в mc первым, не правилом
default) в конфигах nginx (оно ведет на первый
IP). Также при обращении к
несуществующему поддомену любого
сайта на 1 IP происходит обработка тем же
правилом. 

чтобы было понятнее пример:
сайт domen.com - 1IP, конфиг в nginx:

server {
        listen 1IP:80;
        server_name domen.com www.domen.com *.domen.com domen3.com
www.domen3.com domen3.com www.domen3.com domen4.com www.domen4.com
        server_name_in_redirect off;
        index index.php;
        error_page 500 502 503 504 /500.html;
        error_page 404 /404.php;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        client_max_body_size 1024M;
        client_body_buffer_size 4M;


        location / {
                        expires 3d;
                        root   /home/domen.com/public_html;
                        }

        location ~*
^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
                        root /home/domen.com/public_html;
                        error_page 404 = @fallback;
                }

        location ~ (/|\.php)$ {
                        proxy_pass         http://127.0.0.1:8888;
                        }

        location ~ (/|\.html)$ {
                        proxy_pass         http://127.0.0.1:8888;
                        }

        location @fallback {
                        proxy_pass http://127.0.0.1:8888;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
                        proxy_set_header X-Real-IP $remote_addr;
                }
                location ~ /\.ht {
                        deny all;
                }
}




domen2.com - 2IP, конфиг в nginx:

server {
        listen 2IP:80;
        server_name  domen2.com *.domen2.com;
        server_name_in_redirect on;
        index index.php;
        error_page 500 502 503 504 /500.html;
        error_page 404 /404.php;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        client_max_body_size 1024M;
        client_body_buffer_size 4M;



        location / {
                        expires 3d;
                        root   /home/domen2.com/public_html;
                        }

        location ~*
^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
                        root /home/domen2.com/public_html;
                        error_page 404 = @fallback;
                }

        location ~ (/|\.php)$ {
                        proxy_pass         http://127.0.0.1:8888;
                        proxy_set_header X-Server-Address $server_addr;
                        }

        location ~ (/|\.html)$ {
                        proxy_pass         http://127.0.0.1:8888;
                        }

        location @fallback {
                        proxy_pass http://127.0.0.1:8888;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Server-Address $server_addr;
                }
                location ~ /\.ht {
                        deny all;
                }
}



при обращении к domen2.com/1.php открывается
страница 1.php с сайта domen1.com, и переменная
[DOCUMENT_ROOT] => /home/domen.com/public_html

При обращении к sub.domen1.com/1.php открывается
страница 1.php с сайта domen1.com, и переменная
[DOCUMENT_ROOT] => /home/domen.com/public_html

domen1.com имеет практически идентичный
конфиг с сайтом domen.com, разница в location / и
доменных адресах.

Не могу понять куда надо копать и что
делать, вроде бы все указал как в доках
написано, но почему то обработка
происходит не тем конфигом, которым
нужно...

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,184348,184348#msg-184348


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.