Как запретить nginx обрабатывать папку

Тема в разделе "Администрирование серверов", создана пользователем prosto-chups, 31 янв 2013.

Модераторы: mefish, stooper
  1. prosto-chups

    prosto-chups ВТР

    Регистр.:
    3 фев 2009
    Сообщения:
    251
    Симпатии:
    161
    Заранее извиняюсь, может не в тот раздел написал, но более подходящего не нашел.

    Есть хостинг со своей панелью управления, на нем Апачь, а поверх Нжинкс.
    Соответственно, если запрашивается изображение, то оно отдается напрямую через Нжинкс, а если другой файл, то отдает его Апачь.

    Собственно вопрос, как запретить Нжинксу обрабатывать изображения из определенной папки. Нужно чтобы изображения отдавались через Апачь.
     
  2. unkn0wn

    unkn0wn

    Регистр.:
    22 дек 2006
    Сообщения:
    164
    Симпатии:
    86
    Перед своим локейшном, отрабатывающим картинки через nginx, напиши что-то вроде

    Код:
    location ~*/apache_images/*.(jpg|png|gif)$ {
     
    proxy_pass 127.0.0.1:81; // порт апача
     
    }
     
  3. prosto-chups

    prosto-chups ВТР

    Регистр.:
    3 фев 2009
    Сообщения:
    251
    Симпатии:
    161
    Э... А где это прописать? В .htaccess?
     
  4. unkn0wn

    unkn0wn

    Регистр.:
    22 дек 2006
    Сообщения:
    164
    Симпатии:
    86
    В nginx'овый конфиг виртуалхоста ну )
     
  5. prosto-chups

    prosto-chups ВТР

    Регистр.:
    3 фев 2009
    Сообщения:
    251
    Симпатии:
    161
    Сначала я так и подумал, но не нашел nginx'овый конфиг...
    У меня на хостинге такие файлы и папки:
    .cache
    -- mc
    ---- mcedit
    .config
    -- mc
    ---- mcedit
    .local
    -- mc
    ---- mcedit
    Перейти по ссылке
    .bash_history
    .ftpquota

    Может нужно создать и положить куда-то?
    Я раньше с Нжинкс'ом дело не имел...
    А тех. поддержка хостера отмораживается (((
     
  6. mefish

    mefish Support

    Moderator
    • Супермодератор
    Регистр.:
    30 авг 2007
    Сообщения:
    858
    Симпатии:
    621
    Если это хостинг, то забей, саппорт правильно морозится, никто не будет менять конфиги на свой страх и риск, бери вдс, будет все в ажуре)

    А по теме: /etc/nginx/nginx.conf ищеш свой server_name и нужный локейшен и прописываеш вот это:


    Код:
    location ~*/apache_images/*.(jpg|png|gif)$ {
     
    proxy_pass 127.0.0.1:81; // порт апача
     
    }
     
  7. prosto-chups

    prosto-chups ВТР

    Регистр.:
    3 фев 2009
    Сообщения:
    251
    Симпатии:
    161
    Да не, свои сервера есть, хорошие оптероны на колокале и без нжинкса.
    Это сайт клиента на хостинге, а он чего-то боится переносить свой сайт.
    А нужно всего лишь запретить нжинксу обрабатывать одну папку с изображениями, а позволить делать это апачу.
    Может есть какой-то аналог .хтаццессу в нжинксе, чтобы поместить в папку и отдавать статический контент динамически?
     
  8. mefish

    mefish Support

    Moderator
    • Супермодератор
    Регистр.:
    30 авг 2007
    Сообщения:
    858
    Симпатии:
    621
    неа, вариантов на хостинге просто нету, только вмешательство саппорта в конфиг, по другому никак.
     
  9. unkn0wn

    unkn0wn

    Регистр.:
    22 дек 2006
    Сообщения:
    164
    Симпатии:
    86
    В nginx нет никакого подобия .htaccess, все прописывается в конфигурационных файлах, лежащих в etc. Администрация хостинга ради одного клиента морочиться с переписыванием конфигов не будет. Да и к чему это, если на большинстве хостингов картинки отдаются примерно так:
    Код:
    location ~*(.jpg|png|jpeg|gif)  {
     try_files @uri @uri/ @backend;
    }
     
    location @backend {
    proxy_pass http://127.0.0.1:81;
    proxy_set_header Host $host;
    .....
    } 
    то есть если картинка не найдена nginx'ом, управление передается апачу, чтобы он уже на основании своих правил (htaccess в том числе) как-то эту ситуацию урегулировал.
     
  10. prosto-chups

    prosto-chups ВТР

    Регистр.:
    3 фев 2009
    Сообщения:
    251
    Симпатии:
    161
    Согласен, и не морочатся, даже за плату.
    Принцип работы я более-неменее знаю, но тут такая ситуация:
    Изображение есть и отдается браузеру.
    При определенных условиях, описанных в .htaccess отдается не изображение, а файл .php который берет изображение, делает некоторые модификации и только тогда отдает его браузеру.
    Когда стоит апачь, то все нормально, но если стоит нжинкс, соответственно такая конструкция не работает.
    По этому и спросил у людей знакомых с нжинксом, можно ли это как-нибудь победить?
    Может файл какой с инструкциями для нжинкса подставить?

    P.S. Тихо радуюсь, что на свои сервера нжинкс фронтэндом не натянул )))