Welcome! Log In Create A New Profile

Advanced

непонятный баг, контент с другого домена

June 13, 2014 04:51AM
Здравствуйте!

Столкнулся со следующей проблемой:
Возникает на каждом новом юзере, воспроизводится.
Создаю новый ввв-домен, можно с новым пользователем, можно на существующем.
Обращаюсь http://домен/images/logo.png (или что угодно другое из статики не существующей в этом домене).
Получаю в ответ картинку другого пользователя.
В логе nginx вижу, что обращение происходит к другому пользователю,
хотя в nginx.conf явно прописаны server_name для обоих доменов, никаких вайлдкардов, никаких особых конфигов, просто 2 обычных пользователя.
Делаю service nginx restart, проблема уходит, получаю 404.
Если я после этого пересоздам домен, все будет нормально.
Если же я удалю домен, сделаю nginx restart, и создам опять, проблема опять возникает.
nginx reload не помогает!

Немного о системе:
Centos 6.x, ISPManager 4 Pro
NGINX + Apache + PHP FastCGI

NGINX обновил до 1.6.0, не помогло.

Буду рад любому совету, спасибо!

Ну и немного конфигов:
Конфиг домена, с которого отдается статика (индивидуальные данные заменил):
server {
server_name somedomain.com www.somedomain.com;
listen 1.2.3.4;
set $root_path /var/www/username/data/www/somedomain.com;
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|av i|zip|gz|bz2?|rar|swf)$ {
root $root_path;
access_log /var/www/nginx-logs/username isp;
access_log /var/www/httpd-logs/somedomain.com.access.log ;
error_page 404 = @fallback;
}
location / {
proxy_pass http://1.2.3.4:81;
proxy_redirect http://1.2.3.4:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^/(webstat|awstats|webmail|myadmin|pgadmin)/ {
proxy_pass http://1.2.3.4:81;
proxy_redirect http://1.2.3.4:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location @fallback {
proxy_pass http://1.2.3.4:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ^~ /webstat/ {
auth_basic "Restricted area";
auth_basic_user_file /var/www/username/data/etc/138789.passwd;
try_files $uri @fallback;
}
include /usr/local/ispmgr/etc/nginx.inc;
}

Вполне себе стандартный конфиг сгенерированный ISPManager, такой же у всех остальных +/-

nginx.conf:
user nginx;worker_processes 10;
worker_rlimit_nofile 32768;

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

pid /var/run/nginx.pid;


#----------------------------------------------------------------------
# Events Module
#
# http://wiki.nginx.org/NginxHttpEventsModule
#
#----------------------------------------------------------------------

events {
worker_connections 1024;
}


#----------------------------------------------------------------------
# HTTP Core Module
#
# http://wiki.nginx.org/NginxHttpCoreModule
#
#----------------------------------------------------------------------

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

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 main2 '$remote_addr - $remote_user [$time_local] "$request $host" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main2 buffer=32k;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;
proxy_read_timeout 2000;
proxy_connect_timeout 300;
proxy_cache_path cache levels=1 keys_zone=my-cache:20m max_size=1000m inactive=600m;
proxy_temp_path cache/tmp;
server_names_hash_max_size 32768;
proxy_buffers 8 16k;
proxy_buffer_size 32k;

#gzip on;

# 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;

open_file_cache max=20000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;

client_max_body_size 160M;
log_format isp '$bytes_sent $request_length';
server {
.....
далее конфиги доменов (типовые)

в conf.d значимый только default.conf:
server {
listen 80 default_server;
server_name _;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

В /usr/share/nginx/html дефолтный welcome от nginx.


Проверил, при условии что на тестовом домене отдается картинка домена X, если на тестовом домене положить вместо нее другую картинку, отдаваться будет все равно картинка домена X, а вот если положить картинку с другим именем файла, то будет отдаваться правильно - файл с тестового домена.
Subject Author Posted

непонятный баг, контент с другого домена

AlexFC June 13, 2014 04:51AM

Re: непонятный баг, контент с другого домена

Maksim Kulik June 13, 2014 05:50AM

Re: непонятный баг, контент с другого домена

AlexFC June 13, 2014 06:05AM

Re: непонятный баг, контент с другого домена

denis June 14, 2014 01:36AM

Re: непонятный баг, контент с другого домена

AlexFC June 14, 2014 01:52AM

Re: непонятный баг, контент с другого домена

Maksim Kulik June 14, 2014 06:26AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 288
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready