Albert22
Старатель
- Регистрация
 - 30 Мар 2008
 
- Сообщения
 - 270
 
- Реакции
 - 11
 
- Автор темы
 - #1
 
Всем привет
Сервер на FreeBSD, установлены Apache2 и nginx. PHP работает в качестве модуля Apache. Вот конфиг nginx'а (с вмешательством ISP Manager
	
	
	
		
В результате всё статическое уходит на nginx, остальное на апач.
Но возникла необходимость в маскировании mod_rewrite'ом под расширением .jpg динамического скрипта, который выдаёт изображение (чтоб одна ajax-фича понимала что это именно jpeg-изображение). Естественно до того скрипта запрос не доходит поскольку перехватывается nginx'ом и выдаёт «404 Not Found nginx/0.7.61».
Решил повесить nginx только на поддомен типа static.domain.tld чтобы проверка разширения файла проводилась только там, в остальных случаях безусловно отдавать всё на апач.
Как это реализовать? Или как прописать условие конкретно для того скрипта чтоб не перехватывался nginx'ом? И какой вариант эффективнее?
В конфиге уже есть мои попытки написать для этого условие — безрезультатно.
Заранее спасибо!
	
		
			
		
		
	
				
			Сервер на FreeBSD, установлены Apache2 и nginx. PHP работает в качестве модуля Apache. Вот конфиг nginx'а (с вмешательством ISP Manager

		Код:
	
	#user  nobody;
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       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  /var/log/nginx/nginx.access.log  main;
    sendfile        on;
#    tcp_nopush     on;
#    keepalive_timeout  0;
    keepalive_timeout  65;
    gzip  on;
    # another virtual host using mix of IP-, name-, and port-based configuration
    server {
        listen ip:80;
        server_name [SIZE=3]domain.tld[/SIZE] *.[SIZE=3]domain.tld[/SIZE];
        rewrite    ^(/manager/.*)$    https://$host$1    permanent;
        location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/|ns/*) {
            proxy_pass http://ip:8080;
            proxy_redirect http://[SIZE=3]domain.tld[/SIZE]:8080/ /;
            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 / {
            proxy_pass http://ip:8080;
            proxy_redirect http://[SIZE=3]domain.tld[/SIZE]:8080/ /;
            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 ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
# мои попытки прописать условие
            if ($host ~* "^(static\.[SIZE=3]domain\.tld[/SIZE])$") {
                root /home/user/data/www/files;
                access_log /home/httpd-logs/[SIZE=3]domain.tld[/SIZE].access.log;
#                error_page 404 = @fallback;
            }
            root /home/user/data/www/files;
        }
        location @fallback {
            proxy_pass http://ip:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    client_max_body_size 16m;
}
	Но возникла необходимость в маскировании mod_rewrite'ом под расширением .jpg динамического скрипта, который выдаёт изображение (чтоб одна ajax-фича понимала что это именно jpeg-изображение). Естественно до того скрипта запрос не доходит поскольку перехватывается nginx'ом и выдаёт «404 Not Found nginx/0.7.61».
Решил повесить nginx только на поддомен типа static.domain.tld чтобы проверка разширения файла проводилась только там, в остальных случаях безусловно отдавать всё на апач.
Как это реализовать? Или как прописать условие конкретно для того скрипта чтоб не перехватывался nginx'ом? И какой вариант эффективнее?
В конфиге уже есть мои попытки написать для этого условие — безрезультатно.
Заранее спасибо!