> При всех сторонних модулях вы даже не показали конфиг Туплю может.... Не видел необходимости при данной ошибке показывать конфиг.
По моей логике считал - что бы я там не написал, это не должно было позволить воркерам и модулям выполнять команды webdav от рута. Возможно я не прав. Сорри! Вот конфиги. ------------------------------------------- nginx.conf ####################################################################### # # This is the main Nginx configuration file. # # More information about the configuration options is available on # * the English wiki - http://wiki.nginx.org/Main # * the Russian documentation - http://sysoev.ru/nginx/ # ####################################################################### #---------------------------------------------------------------------- # Main Module - directives that cover basic functionality # # http://wiki.nginx.org/NginxHttpMainModule # #---------------------------------------------------------------------- user nginx; worker_processes 2; worker_rlimit_nofile 16384; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; #---------------------------------------------------------------------- # Events Module # # http://wiki.nginx.org/NginxHttpEventsModule # #---------------------------------------------------------------------- events { use epoll; worker_connections 1024; multi_accept on; } #---------------------------------------------------------------------- # HTTP Core Module # # http://wiki.nginx.org/NginxHttpCoreModule # #---------------------------------------------------------------------- http { client_body_temp_path /tmp/nginx-client-body; fastcgi_temp_path /tmp/nginx-fastcgi; uwsgi_temp_path /tmp/nginx-uwsgi; scgi_temp_path /tmp/nginx-scgi; proxy_cache_path /opt/nginx/cache levels=1:2 keys_zone=cache:30m max_size=10G; proxy_temp_path /opt/nginx/proxy 1 2; proxy_ignore_headers Expires Cache-Control; proxy_cache_use_stale error timeout invalid_header http_502; proxy_cache_bypass $cookie_session; proxy_no_cache $cookie_session; lua_package_cpath '/usr/lib64/?.so;/usr/lib64/lua/5.1/?.so;/usr/local/lib/lua/5.1/?.so'; lua_package_path '/usr/share/lua/5.1/?.lua;/usr/local/lib/lua/?.lua;/usr/share/lua/resty/?.lua;/usr/local/lib/lua/resty/?.lua;/usr/local/lib/lua/resty/core/?.lua;'; lua_shared_dict sha1 10M; lua_shared_dict a 10M; include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$host" "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; log_format inweb '$msec|$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; keepalive_timeout 65; keepalive_requests 1000; gzip on; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.0; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_static on; gzip_disable FireFox/([0-2]\.|3\.0); gzip_disable Chrome/2; gzip_disable Safari; gzip_disable MSIE[1-6].(?!.*SV1); limit_req_zone $binary_remote_addr zone=2client:10m rate=5r/s; limit_req_zone $binary_remote_addr zone=system:10m rate=10r/s; limit_req_zone $binary_remote_addr zone=update:10m rate=10r/s; limit_req_zone $binary_remote_addr zone=social:10m rate=5r/s; limit_req_zone $binary_remote_addr zone=com:10m rate=50r/s; limit_req_zone $binary_remote_addr zone=itcodcom:1m rate=10r/s; limit_req_zone $binary_remote_addr zone=itcod:100m rate=100r/s; map_hash_bucket_size 128; map $sent_http_content_type $expires { default off; application/pdf 42d; ~image/ max; } expires $expires; # # The default server # server { listen 80; server_name _; server_name_in_redirect off; location ~* \.(css|js|ico|atrib|vas|ini) { gzip_static on; gzip_disable FireFox/([0-2]\.|3\.0); gzip_disable Chrome/2; gzip_disable Safari; } error_page 415 = /empty; location = /empty { empty_gif; # Respond with empty image } 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; } } server_names_hash_bucket_size 64; ssl_certificate ssl/cert.pem; ssl_certificate_key ssl/cert.key; ssl_session_timeout 10m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; include win-utf; include koi-utf; # Load config files from the /etc/nginx/conf.d directory include /etc/nginx/conf.d/*.conf; include /etc/nginx/virt.d/*.conf; } --------------------------------------------------------------- virt.conf server { listen 80; listen 443 ssl; server_name "~^ihome\d+\.itcod\.com$ ~^cdn\d+\.itcod\.com$" www.itcod.com itcod.com www.itcod.ru itcod.ru www.itcod.su itcod.su www.itcod.net itcod.net ~^cdn\d+\.itcod\.net$ ihome.itcod.com icm.itcod.com localhost ; expires epoch; keepalive_timeout 70; ssl_certificate ssl/itcod.com/uni.crt; ssl_certificate_key ssl/itcod.com/ssl.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.1 TLSv1; ssl_ciphers AES128-SHA:AES256-SHA:DES-CBC3-SHA:; ssl_prefer_server_ciphers on; ssl_stapling on; add_header Strict-transport-Security 'max-age=604800'; ssl_buffer_size 4k; default_type application/octet-stream; access_log /var/log/nginx/ihome.itcod.com-access.log main; resolver 127.0.0.1; charset utf-8; gzip_static on; gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/x-javascript text/javascript application/javascript application/json text/xml application/xml appliction/xml+rss; add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods *; add_header Access-Control-Allow-Header *; add_header Access-Control-Allow-Credentials true; set $dir /opt/home; set $testdir $dir$uri; set $uri_type none; if (-d $testdir) { # такая папка есть set $uri_type dir; rewrite ^(.*)$ $1/; rewrite ^(.*)/+$ $1/; } if (-f $testdir) { # такой файл есть set $uri_type file; } if ($request_method = "MKCOL") { rewrite ^(.*)$ $1/; rewrite ^(.*)/+$ $1/; set $uri_type dir; #клиент webdav создает папку } if ($request_method = "PUT") { set $uri_type file; #передаем только файлы } if ($request_method = "POST") { set $uri_type file; #постим только файлы } set $user_open .htopen; #all:[com] file:[com] dir/:[com] (com = private/open/block/hide) set $user_passwd .htpasswd; #user:password[crypt(3)/md5/sha1] set $user_permit .htpermit; #user:GET,PUT,....OPTIONS set $user_permit_default GET,HEAD,PROPFIND,OPTIONS; # Allow set $user_itcod guest; set $home_itcod /; set $itcod_automount off; #off/on set $itcod_passwd <PASSWORD>; set $ID_user <USER>; merge_slashes on; set $answer_block 0; set $a401 no; location / { allow 127.0.0.0/8; limit_req zone=com burst=50 nodelay; limit_rate 512k; set $uri_del /%.resize/%d+x%d+/; set $auth_dav private; #none/private access_by_lua_file /etc/nginx/lua/auth-dav.lua; dav_methods PUT DELETE MKCOL COPY MOVE; dav_ext_methods PROPFIND OPTIONS; create_full_put_path on; dav_access user:rw group:rw; client_body_temp_path /opt/tmp/; client_max_body_size 0; autoindex on; root $dir; header_filter_by_lua_file /etc/nginx/lua/itcod-exchange.lua; set $md5index on; #on/off nil=off # вкл/выкл обработчик set $md5index_hash md5; #none/md5/md4/sha1/sha/ripemd160 nil=none # тип выводых хэшей set $md5index_size 2000; #kb nil=unlimit # не считать для файлов более N kb set $md5index_path on; #on/off nil=off # заменять относительный путь ссылок на полный URI set $md5index_nonblank on; #on/off nil=off # заменить множественные пробелы одним set $md5index_type on; #on/off nil=off # добавит в строки описание типа file/directory/etc... set $md5index_ico https://itcod.com/ui/icons/16ext/; # путь к библиотека иконок set $md5index_icopref icon-; # префикс имени файла иконки #set $md5index_icosuf -icon; # суфикс имени файла иконки set $md5index_icoext .gif; # расширение файла иконки set $md5index_win VIEW; # target window for !winext! files set $md5index_winext all; # file extension for target windows set $md5index_htindex .htindex; # файл главного рекурсивного шаблона верхнего уровня set $md5index_htindex_add .htindex.add; # файл корректировочного рекурсивного шаблона body_filter_by_lua_file /etc/nginx/lua/md5index.lua; # addon обработчик } location ~/\.uht { deny all; } location /i/search/ { content_by_lua_file /etc/nginx/lua/itcod-search.lua; } # location /i/mnt/ { # content_by_lua_file /etc/nginx/lua/itcod-mnt.lua; # } location /i/user/ { set $user_passwd <PASSWORD>; set $user_captcha_test recaptcha; set $user_captcha_test_secret <SECRET>; set $user_captcha_add recaptcha; set $user_captcha_add_secret <SECRET>; set $user_link /opt/home; # link generation set $user_home /opt/fs/local; #general create home userbox content_by_lua_file /etc/nginx/lua/itcod-user.lua; } location /i/send/ { gzip_static off; gzip off; content_by_lua_file /etc/nginx/lua/itcod-send.lua; } location /i/sendNote/ { set $sendNote_captcha_new recaptcha; set $sendNote_captcha_new_secret <SECRET>; set $sendNote_captcha_add recaptcha; set $sendNote_captcha_add_secret <SECRET>; set $sendNote_domain itcod.net; set $sendNote_email no; set $send_server http://localhost/; content_by_lua_file /etc/nginx/lua/itcod-sendNote.lua; } location /i/sendText/ { set $sendText_captcha_new recaptcha; set $sendText_captcha_new_secret <SECRET>; set $sendText_captcha_add recaptcha; set $sendText_captcha_add_secret <SECRET>; set $send_server http://localhost/; content_by_lua_file /etc/nginx/lua/itcod-sendText.lua; } ############ location /.resize/ { alias /opt/home/; expires 3d; add_header Cache-Control public; set $uri_del ^/%.resize/%d+x%d+/; access_by_lua_file /etc/nginx/lua/auth-dav.lua; set $width 100; set $height 100; set $demins "100x100"; if ($uri ~* "^/.resize/(\d+)x(\d+)/(.*)" ) { set $width $1; # ширина set $height $2; # высота set $image_path $3; #реальный url к картинке set $demins "$1x$2"; #маска(подпапка) размера } if ($image_path ~* "(.*)/(.*)\.(.*)$") { set $image_dir $1; #путь set $image_name $2; #имя файла set $image_ext $3; #расширение } set_unescape_uri $image_dir; set_unescape_uri $image_dir; set_unescape_uri $image_name; set_unescape_uri $image_name; set $image_req /resize/$image_dir/$demins/$image_name.$image_ext; set $image_request /opt/home/resize/$image_dir/$demins/$image_name.$image_ext; set $image_uri image_resize/$image_path?width=$width&height=$height; if (!-f $image_request) { access_log /var/log/nginx/itcod-noimg.log main; proxy_pass http://localhost/$image_uri; } proxy_store $image_request; proxy_store_access user:rw group:rw all:r; proxy_temp_path /tmp/images; proxy_set_header Host $host; # отправить запрос к кэшу proxy_pass http://localhost/$image_req; } location /image_resize { access_log /var/log/nginx/itcod-resize.log main; alias /opt/home; image_filter resize $arg_width $arg_height; image_filter_buffer 20M; image_filter_jpeg_quality 75; image_filter_sharpen 35; image_filter_interlace on; image_filter_transparency on; error_page 415 = /.empty; } # Error handler location = /.empty { empty_gif; # Respond with empty image } } --------------- Источник: https://itcod.com/test/2016.12.04.demo.nginxConfig/ Posted at Nginx Forum: https://forum.nginx.org/read.php?21,271302,271331#msg-271331 _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
