Nginx невидит поддомены

12
S1
На сайте с 02.09.2004
Offline
103
5950

Скажите по какой причине Nginx может блокировать доступ к статическим страницам находящимся на поддомене. Пишет "нот фаунд" хотя на самом деле старница есть.

При этом nginx индексная страница поддомена грузится, а все страницы находящиеся в каталоге "нот фаунд"

:no:

B
На сайте с 01.05.2007
Offline
15
#1

Покажите логи и кусок конфига

Bartholomew Jo-Jo
S1
На сайте с 02.09.2004
Offline
103
#2

Код


user apache;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include conf/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"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

server {
listen 194.54.89.110:80;
server_name имя.com *.имя.com;

root /var/www/vhosts/имя сайта/httpdocs;

location / {
proxy_pass http://127.0.0.1/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
# proxy_send_lowat 12000;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

location ~* ^.+\.(jpg|jpeg|gif|js|png|htm|html)$ {
root /var/www/vhosts/имя/httpdocs;
}

#charset koi8-r;

#access_log logs/host.access.log main;

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

error_page 500 502 503 504 /bad_gateway.html;
# root /var/www/vhosts/имя_сайта/error_docs;
location = /bad_gateway.html {
root /var/www/vhosts/имя_сайта/error_docs;
}

# 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$ {
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include conf/fastcgi_params;
#}

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


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root html;
# index index.html index.htm;
# }
#}


# HTTPS server
#
#server {
# listen 443;
# server_name localhost;

# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

}



S1
На сайте с 02.09.2004
Offline
103
#3

Так как nginx упорно блокирует содержимое поддомена, в частности статические страницы, для того чтобы страницы неушли из индекса, убрал из этой строчки

location ~* ^.+\.(jpg|jpeg|gif|js|png|htm|html)

htm|html

в результате теперь страницы на поддомене доступны, однако картинки размещеные на этом поддомене попрежнему не отображаются.

Таким образом это доказывает что причина в nginx, но почему он неотображает информацию размещенную на поддомене (love.имя_сайта.com), непонятно 🙅

Roxis
На сайте с 19.11.2006
Offline
40
#4

смотреть logs/error.log

K
На сайте с 12.07.2006
Offline
295
Kpd
#5
Sacred13:
Пишет "нот фаунд" хотя на самом деле старница есть.

Потому что на самом деле он ищет ваш файл не в той папке.

location ~* ^.+\.(jpg|jpeg|gif|js|png|htm|html)$ {
root /var/www/vhosts/имя/httpdocs;
S1
На сайте с 02.09.2004
Offline
103
#6
Kpd:
Потому что на самом деле он ищет ваш файл не в той папке.

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

к примеру,

location ~* ^.+\.(jpg|jpeg|gif|js|png|htm|html)$ {

root /var/www/vhosts/имя_сайта/httpdocs;

root /var/www/vhosts/subdomains/love.имя_сайта.com/httpdocs;

?

K
На сайте с 12.07.2006
Offline
295
Kpd
#7
Sacred13:
Немного не понял, нужно что эту строчку указывать для каждого домена что ли?

Нужно для каждого домена (поддомена) писать свой код конфига server { ... }

Возможно, есть более простое решение, попробуйте спросить об этом на форуме nginx'а

S1
На сайте с 02.09.2004
Offline
103
#8

То есть вот так вот? Посмотри пожалуйста :)


user apache;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include conf/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"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

server {
listen 194.54.89.110:80;
server_name имя.com *.имя.com;

root /var/www/vhosts/имя сайта/httpdocs;

location / {
proxy_pass http://127.0.0.1/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
# proxy_send_lowat 12000;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

location ~* ^.+\.(jpg|jpeg|gif|js|png|htm|html)$ {
root /var/www/vhosts/имя/httpdocs;
}

server {
listen 194.54.89.110:80;
server_name love.имя.com *.имя.com;

root /var/www/vhosts/love.имя.com/httpdocs;

location / {
proxy_pass http://127.0.0.1/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
# proxy_send_lowat 12000;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

location ~* ^.+\.(jpg|jpeg|gif|js|png|htm|html)$ {
root /var/www/vhosts/love.имя.com/httpdocs;
}

#charset koi8-r;

#access_log logs/host.access.log main;

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

error_page 500 502 503 504 /bad_gateway.html;
# root /var/www/vhosts/имя_сайта/error_docs;
location = /bad_gateway.html {
root /var/www/vhosts/имя_сайта/error_docs;
}

# 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$ {
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include conf/fastcgi_params;
#}

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


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root html;
# index index.html index.htm;
# }
#}


# HTTPS server
#
#server {
# listen 443;
# server_name localhost;

# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

}
K
На сайте с 12.07.2006
Offline
295
Kpd
#9

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

Ключевой момент - для каждого домена в конфиге нужно указать директорию, в которой лежит статика этого домена.

З.Ы. Куда подевался ваш админ? :)

S1
На сайте с 02.09.2004
Offline
103
#10
Kpd:
Sacred13, не могу разобрать ваш конфиг, слишком много буковок и ненужных комментариев. Ощущение, что вы просто продублировали кусок кода.
Ключевой момент - для каждого домена в конфиге нужно указать директорию, в которой лежит статика этого домена.

З.Ы. Куда подевался ваш админ? :)

Человек который настраивал, забыл меня предупредить (умышлено?), о том что он не будет настраивать nginx для поддоменов. Оказывается настроить nginx для каждого поддомена стоит столько же сколько и для основного домена :)

Вопрос. Жадный или наглый?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий