Долгое время я пользовался вот этим шаблонным конфигом для NginX под Drupal, но теперь окончательно понял, что его подход к безопасности меня категорически не удовлетворяет. В частности, мне не нравится, что по-умолчанию в нём разрешена обработка всех PHP файлов, хотя в действительности для работы с Друпал достаточно доступа к index.php, update.php и cron.php (install.php нужен только на время установки, а возможностями xmlrpc.php я не пользуюсь).
И вот тут меня посетили определённые сомнения: а не упустил ли я из виду ещё какие-то PHP файлы, доступ к которым нужен извне? Возможно, они требуются для работы каких-то модулей?
В общем, товарищи и коллеги! Если у вас примеры подобных файлов в ядре или модулях - не поленитесь оставить пару слов в комментарии! По полю с граблями лучше ходить кучей... А я потом готовым конфигом поделюсь!
Комментарии
От модулей точно ничего быть не должно, если сделаны по фен-шую, а главное можно взять и проверить - скопировать сайт на тестовый поддомен (база таже останется) и там конфиг свой прописать.
Ну, один такой модуль я уже нашёл: http://drupal.org/project/ad
Поправь если я ошибаюсь, но модуль с внешним файлом, значит что он сам себе curl запрос делает или направляет пользователя на страницу которая функционирует не на движке друпала. На основе чего ты решил что этот модуль один из таких?
Это я на каком-то англоязычном ресурсе вычитал, чуть ли не на http://groups.drupal.org/nginx. Там как раз обсуждалось, какие PHP файлы требуется передавать в FastCGI на nginx.
P.S. Судя по отсутствию интереса, либо у всех уже есть надёжные конфиги под nginx, либо эта проблема никого не волнует. Похоже, придётся гулять по граблям в одиночестве. Благо, тестовый сервер есть - к нему бы ещё теперь время.
Уверен что многие просто пользуются хостингами с apache и вообще не парятся по этому поводу так как сам друпал дает настроенный .htaccess файл.
Делов на 15 мин, правда копировать надо с умом если загруженные отдельные файлы у сайта есть, а то затянется дело это.
И это я про апач конечно, но я думаю что в енжин-иксе тоже легко прописать новый виртуальный сервер.
Ну, тестовый сайт у меня давно уже есть, БД на него тупо реплицируется с основного. Плюс ещё три чисто для разработки: под 6-ку, под 7-ку и под планируемый апгрейд с 6-ки на 7-ку. Проблема-то не в этом. Скорее всего, придётся просто брать https://github.com/perusio/drupal-with-nginx и выкашивать из него всё, чем я не пользуюсь. И поскорее переходить на 7-ку, там с nginx гораздо меньше проблем.
А апач хуже что-ли чем икс этот? Почему бы просто на него не перейти?
У nginx есть несколько преимуществ: очень быстрый код для статики, работающий по принципу конечного автомата: очень гибкий и удобный конфиг; маленькие требования к памяти. Я на Апаче 16 лет сидел, но после того, как 1.3 убрали из портов Фряхи, я все свои веб-сервисы на nginx перевёл - и ничуть не жалею.
Этого, простите, не понял.
У NginX очень сильно оптимизированный код, в котором принципиально не используются блокируюшие вызовы. Поэтому отдача статических файлов (картинок, стилей и т.д.) ограничивается в основном только шириной канала. Я у себя для теста погонял ab на новом сервере - nginx без напряга загрузил мне гигабитный интерфейс, без какой-либо заметной нагрузки на ЦПУ.
Ясно, спасибо! Буду знать когда до VDS дорасту.