Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

Nginx, расшаривание папки для скачивания файлов через http

Статус пользователя f1nik
сообщение 27.3.2012, 18:41
Сообщение #1


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

ДОбрый день, имеется nginx + php-fpm (root /usr/share/nginx/html), каким образом можно расшарить папку сервера /home/hlds_1 для быстрой загрузки... ?

кусок конфига nginx:

Код
location / {
            root   /usr/share/nginx/html;
            index  index.php index.html index.htm;
            if (!-e $request_filename) {
                    rewrite ^(.+)$ /index.php?q=$1 last;
            break;




location /fasthttphlds_1 {
            root /home/hlds_1/cstrike;
        internal;
    }


Ввожу в браузере adress.ru/fasthttphlds_1 выдает 404 ошибку от nginx, если любой другой адрес то выдает 404 из /usr/share/nginx/html ... делаю вывод что location работает но список файлов не выдает...

Как быть товарищи выручайте....
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя 330863
сообщение 27.3.2012, 19:39
Сообщение #2


Стаж: 16 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

f1nik,
Код
location /fasthttphlds_1 {
        root /home/hlds_1/cstrike;
        internal;
}

location / {
            root   /usr/share/nginx/html;
            index  index.php index.html index.htm;
            if (!-e $request_filename) {
                    rewrite ^(.+)$ /index.php?q=$1 last;
            break;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 27.3.2012, 19:47
Сообщение #3


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

330863,
то же самое ничего не изменилось!!!!

UPD: он вроде ьы идет в папку но он там ищет web , но никак не выдает список файлов... может туда .httpacces дать?

Отредактировал: f1nik, - 27.3.2012, 19:57
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 27.3.2012, 20:39
Сообщение #4


Стаж: 16 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

f1nik,
Код
autoindex on;

в нужном тебе location { }
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 27.3.2012, 21:09
Сообщение #5


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Цитата(330863 @ 27.3.2012, 20:39) *
f1nik,
Код
autoindex on;

в нужном тебе location { }

неа... опять же 404 ошибка и все!!!

Вот вся конфа:

Код
user  nginx;
worker_processes  5;
worker_rlimit_nofile 100000;

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 {
    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;
    client_max_body_size 20M;
    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_conn_zone   $binary_remote_addr  zone=addr:10m;

    # Load config files from the /etc/nginx/conf.d directory
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        server_name  _;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /fasthttphlds_1 {
            root /home/hlds/hlds_1/cstrike;
        autoindex on;
        internal;
        }
        
        location / {
            root   /usr/share/nginx/html;
            index  index.php index.html index.htm;
            if (!-e $request_filename) {
                    rewrite ^(.+)$ /index.php?q=$1 last;
            break;
        }
        }
        
        
        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           /usr/share/nginx/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #



    # 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  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers   on;

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

}
}


Отредактировал: f1nik, - 27.3.2012, 21:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя binural
сообщение 27.3.2012, 21:57
Сообщение #6


Стаж: 15 лет

Сообщений: 804
Благодарностей: 220
Полезность: 521

Создай виртуал хост к этой папки ... /home/hlds_1
и будет такого вида например dl.adress.ru/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fire
сообщение 27.3.2012, 22:04
Сообщение #7


Иконка группы

Стаж: 17 лет

Сообщений: 2201
Благодарностей: 2227
Полезность: 963

А юзеру nginx может зайти в диру сервера? может прав не хватает?


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
cs-portal
сообщение 27.3.2012, 22:35
Сообщение #8
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

продолжая тему
чтобы бы посоветовали
nginx+phpfpm без апача
либо
nginx как фротенд апача с fastcgi + php

(крок напиши в лс ето насчет патчера моделей ) раз ты в теме

Отредактировал: cs-portal, - 27.3.2012, 22:36
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя berq
сообщение 27.3.2012, 22:38
Сообщение #9
Стаж: 16 лет

Сообщений: 181
Благодарностей: 629
Полезность: 3725

Цитата(f1nik @ 27.3.2012, 20:41) *
Код
location /fasthttphlds_1 {
            root /home/hlds_1/cstrike;
        internal;
    }


кагбе ртфм
Цитата
internal indicates that the matching location can be used only for so called "internal" requests.

For external requests it will return the error "Not found" (404).

Internal requests are the following:

requests redirected by the instruction error_page
subrequests created by the command include virtual of the "ngx_http_ssi_module" module
requests changed by the instruction rewrite of the "ngx_http_rewrite_module" module


Интернал убрать и юзать alias:
Код
    location /fasthttphlds_1 {
        alias /home/hlds_1/cstrike;
    }
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя c0rax
сообщение 27.3.2012, 22:38
Сообщение #10


Стаж: 18 лет

Сообщений: 1077
Благодарностей: 530
Полезность: 884

Цитата(cs-portal @ 27.3.2012, 23:35) *
продолжая тему
чтобы бы посоветовали
nginx+phpfpm без апача
либо
nginx как фротенд апача с fastcgi + php

nginx + swgi :)
...с чем нибудь своим...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 27.3.2012, 23:13
Сообщение #11
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

я так понял что swig

SWIG is a great way to reuse existing code

то есть она берет код и отправляет или рабоатет с ним на бешеной скорости?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя c0rax
сообщение 28.3.2012, 0:17
Сообщение #12


Стаж: 18 лет

Сообщений: 1077
Благодарностей: 530
Полезность: 884

Цитата(cs-portal @ 28.3.2012, 0:13) *
я так понял что swi

WSGI
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 28.3.2012, 2:33
Сообщение #13
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

нет спасибо) пока не надо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 28.3.2012, 8:07
Сообщение #14


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Спасибо все за оперативную помощь, совет crock'a очень помог, а так же Fire напомнил про права!!!

Теперь пытаюсь решить немножко другую проблему, выдает весь список всех файлов сервера, каким образом можно оставить выдачу в список только тех файлов и папок какие я хочу, а то выкачают весь сервер)))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 28.3.2012, 13:39
Сообщение #15


Стаж: 16 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

f1nik,
вот как я делаю у себя)
Код
root /empty;
autoindex               off;
location ~* "^/fastdl/.+\.(bmp|bsp|hpk|htm|html|mdl|res|spr|tga|wad|wav|mp3)$" {
                        access_log      off;
                        error_log /dev/null;

                        root /server/cs/cstrike;

                        expires         30d;
}


Код
sv_downloadurl "http://site.ru/fastdl/"


Отредактировал: 330863, - 28.3.2012, 13:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 28.3.2012, 14:33
Сообщение #16


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Цитата(330863 @ 28.3.2012, 14:39) *
f1nik,
вот как я делаю у себя)
Код
root /empty;
autoindex               off;
location ~* "^/fastdl/.+\.(bmp|bsp|hpk|htm|html|mdl|res|spr|tga|wad|wav|mp3)$" {
                        access_log      off;
                        error_log /dev/null;

                        root /server/cs/cstrike;

                        expires         30d;
}


Код
sv_downloadurl "http://site.ru/fastdl/"

Неа... не стал заморачиваться, сделал проще)))

Код
    location ~* \.(?:cfg|ini|gam|vdf|txt|ico|hpk|lst|dat|inf|scr)$ {
        access_log off;
        log_not_found off;
        deny all; }
        
        location ~* /(SAVE|addons|dlls|cl_dlls|classes|events|iga_static|logs|manual|resource|)/.* {
        access_log off;
        log_not_found off;
        deny all;
        }
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 28.3.2012, 15:20
Сообщение #17
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

можно сделать еще проще
расшарить директорию нджинкса на кс сервер и плюнуть на безопасность
хотя может и не работать

Отредактировал: cs-portal, - 28.3.2012, 15:21
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 28.3.2012, 15:52
Сообщение #18


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Цитата(cs-portal @ 28.3.2012, 16:20) *
.... и плюнуть на безопасность


Я ради безопасности и заморачиваюсь)))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя viktor6
сообщение 26.11.2012, 14:33
Сообщение #19


Стаж: 19 лет

Сообщений: 192
Благодарностей: 31
Полезность: 138

У меня в апаче был так
Код
ServerName site
    ServerAlias www.site
DocumentRoot /home/KS_servera/cstrike
    ErrorLog /home/www/logs/sv-error.log
    CustomLog /home/www/logs/sv-access.log combined
    <Directory "/home/KS_servera/cstrike/">
        Options Indexes MultiViews
        IndexIgnore SAVE addons cl_dlls dlls events iga_static logs* manual *.so *.cfg *.inf *.gam *.lst *.vdf *.ini *.log
        IndexOptions FancyIndexing FoldersFirst NameWidth=* ScanHTMLTitles
        AllowOverride None
        Order allow,deny
        <Files ~ ".(so|cfg|txt|inf|gam|lst|vdf|ini|log)$">
            Deny from all
        </Files>
        Allow from all
    </Directory>
</VirtualHost>
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя wopox3
сообщение 26.3.2014, 7:44
Сообщение #20


Стаж: 13 лет

Сообщений: 333
Благодарностей: 222
Полезность: 902

Цитата(viktor6 @ 26.11.2012, 15:33) *
У меня в апаче был так
Код
ServerName site
    ServerAlias www.site
DocumentRoot /home/KS_servera/cstrike
    ErrorLog /home/www/logs/sv-error.log
    CustomLog /home/www/logs/sv-access.log combined
    <Directory "/home/KS_servera/cstrike/">
        Options Indexes MultiViews
        IndexIgnore SAVE addons cl_dlls dlls events iga_static logs* manual *.so *.cfg *.inf *.gam *.lst *.vdf *.ini *.log
        IndexOptions FancyIndexing FoldersFirst NameWidth=* ScanHTMLTitles
        AllowOverride None
        Order allow,deny
        <Files ~ ".(so|cfg|txt|inf|gam|lst|vdf|ini|log)$">
            Deny from all
        </Files>
        Allow from all
    </Directory>
</VirtualHost>



сори за Некропост ^_^

Подскажите, как так сделать на апаче?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: