Re: nginx перед апачем, битые картинки, сss и js
Igor Sysoev
igor на sysoev.ru
Пн Дек 6 16:57:32 MSK 2010
On Mon, Dec 06, 2010 at 08:51:35AM -0500, Syd wrote:
> Коллеги, добрый день.
>
> Есть nginx 0.8.53 как фронтенд перед апачем.
> Все это крутится на CentOS 5.5 Final.
>
> Наблюдаю проблему - криво грузятся
> картинки, css и скрипты js -
> соответственно, сайты отображаются
> некорректно.
> Перекопал уже все, что можно - мысли
> кончились.
В error_log что ?
> Помогите победить проблему.
>
> Вот конфиг nginx:
>
> user apache apache;
> worker_processes 15;
> worker_rlimit_nofile 100000;
> error_log /var/log/nginx/error.log;
> pid /var/run/nginx.pid;
>
> events {
> worker_connections 1024;
> use epoll;
> }
>
> 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"';
>
> access_log /var/log/nginx/access.log main;
>
> sendfile on;
> tcp_nopush on;
> tcp_nodelay on;
> server_tokens off;
> gzip on;
> gzip_static on;
> gzip_comp_level 5;
> gzip_min_length 1024;
> keepalive_timeout 65;
> limit_zone myzone $binary_remote_addr 10m;
>
> include /etc/nginx/conf.d/*.conf;
>
> client_max_body_size 16m;
>
> proxy_buffer_size 4k;
> proxy_buffers 4 32k;
> proxy_busy_buffers_size 64k;
> proxy_temp_file_write_size 64k;
>
>
> Вот конфиг типичного хоста:
>
> server {
> listen IP:80;
> server_name DOMAIN.ru www.DOMAIN.ru;
> rewrite ^(/manager/.*)$ https://$host$1 permanent;
Не нужно гонять регулярное выражение для всех запросов:
location ^~ /manager/
rewrite ^ https://$host$request_uri? permanent;
}
> error_page 404 = @fallback;
> location ~*
> ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
> proxy_pass http://IP:8080;
> proxy_redirect http://DOMAIN.ru: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://DOMAIN.ru: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;
> proxy_cache_valid 200 302 304 1m;
> proxy_cache_valid 404 1m;
> expires -1;
> }
> location ~*
> ^.+\.(html|htm|css|xml|rss|gif|jpeg|jpg|js|atom|mml|txt|jad|wml|htc|png|tif|tiff|wbmp|ico|jng|bmp|jar|war|ear|hqx|doc|pdf|ps|eps|ai|rtf|xls|ppt|wmlc|xhtml|cco|jardiff|jnlp|run|pl|pm|prc|pdb|rar|rpm|sea|swf|sit|tcl|tk|der|pem|crt|xpi|zip|bin|exe|dll|deb|dmg|eot|iso|img|msi|msp|msm|mid|midi|kar|mp3|ra|3gpp|3gp|mpeg|mpg|mov|flv|mng|asx|asf|wmv|avi|rar)$
> {
> access_log
> /var/www/httpd-logs/DOMAIN.ru.access.log;
> error_log /var/www/httpd-logs/DOMAIN.error.log;
> set $proot
> "/var/www/fincult/data/www/DOMAIN.ru";
> root $proot;
А вот это зачем ? Достаточно
root /var/www/fincult/data/www/DOMAIN.ru;
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru