Является ли NGINX безопасным для веб-приложений, которые обычно используют htaccess?
Прежде всего, вам не нужно убеждать меня, что NGINX хорош, я это знаю и хочу использовать его для всех веб-проектов.
Мне задали этот вопрос на днях, и у меня не было четкого ответа, так как я не особо смотрел на эту конкретную ситуацию.
Вопрос, разработанный
Старые и новые веб-программы, такие как Drupal и Wordpress, поставляются с некоторыми .htaccess
-файлы, и в то время как есть множество примеров конфигов для nginx для них, доступных с помощью простого поиска.
- Как я могу заверить клиентов, что nginx безопасен для Drupal и Wordpress соответственно?
- Как могут конфиги nginx покрывать такие сложные системы и сохранять их такими же безопасными, как с apache + htaccess?
Мне не нужны полные ответы здесь, но ссылки на статьи, которые пытаются ответить на этот или подобные вопросы.
Я хочу убедить некоторых клиентов перейти на nginx за огромный прирост производительности, который он им дал бы, но им нужно больше доказательств того, что у меня есть, в отношении безопасности с системами, которые обычно используют htaccess.
1 ответ
Что такое файл.htaccess?
Это частичный файл конфигурации веб-сервера, который динамически анализируется при каждом (соответствующем) запросе. Это позволяет вам переопределять определенные аспекты поведения веб-сервера для каждого каталога, добавляя в них фрагменты конфигурации.
По сути, он не делает ничего, что не может сделать ни один центральный файл конфигурации, он просто децентрализует эту конфигурацию и позволяет пользователям переопределять эту конфигурацию, не имея прямого доступа к веб-серверу как таковому. Это оказалось очень полезным и популярным в модели общего хостинга, где хост не хочет предоставлять полный доступ к конфигурации веб-сервера и / или это было бы нецелесообразно.
nginx в основном использует только один файл конфигурации, но вы можете добавить к нему, включив другие файлы конфигурации с include
директива, с помощью которой вы могли бы в конечном итоге имитировать подобную систему. Но nginx также невероятно эффективен, потому что он не включает динамическое конфигурирование для каждого каталога; это огромная потеря производительности при каждом запросе в Apache. Любая вменяемая конфигурация Apache отключит синтаксический анализ.htaccess, чтобы избежать потери производительности, и в этом случае между ним и nginx нет принципиальной разницы.
Еще более фундаментально: что такое веб-сервер? Это программа, которая отвечает на запросы HTTP с конкретными ответами HTTP. Какой ответ вы получите, зависит от вашего запроса. Вы можете настроить веб-сервер так, чтобы он отправлял конкретные ответы на конкретные запросы на основе целого ряда переменных. Apache и nginx могут быть одинаково настроены на одинаковый ответ на запросы. Пока вы это делаете, нет никакой разницы в поведении и, следовательно, в "безопасности".