# Настройки Apache и nginx

По умолчанию Plesk использует веб-сервер Apache (http://en.wikipedia.org/wiki/Apache_HTTP_Server) для доставки страниц ваших сайтов до клиентов (например, до браузеров, которыми пользуются посетители для просмотра вашего сайта). Для большей производительности веб-сервер Apache работает в связке с другим веб-сервером — nginx. Вы также можете использовать только nginx.

Настройки веб-сервера по умолчанию задаются администратором сервера (хостинг-провайдером). Эти настройки определяют то, как веб-серверы должны обрабатывать различные типы файлов, как использовать SSL/TLS, где хранить файлы журналов и так далее.

Однако вы (как владелец сайта) можете индивидуально настроить веб-сервер для своего сайта. Например, добавить тип стартовых страниц, ограничить доступ к сайту и так далее.

Примечание

Вы можете менять настройки веб-сервера для своих сайтов, если ваша подписка включает соответствующее право.

## Изменение настроек Apache и nginx

Некоторые настройки Apache и nginx можно изменить на уровне домена. Они находятся на странице Сайты и домены > имя домена > Настройки Apache и nginx. Эти настройки делятся на две группы:

- Общие настройки Apache

- «Настройки nginx»

## Изменение типов MIME

Типы MIME сопоставляют расширения файлов с типами файлов, чтобы веб-браузеры понимали, как следует обрабатывать определенные типы файлов. Например, следующий тип MIME

`text/plain .txt`

сообщает веб-браузеру о том, что все файлы с расширением `.txt` нужно обрабатывать как простой текст. По умолчанию большинство типов MIME уже предопределены. Однако если вы обнаружите, что страницы вашего сайта не могут быть корректно обработаны веб-браузерами из-за использования нестандартных расширений, вам надо настроить один или несколько персональных типов MIME.

Чтобы настроить персональные типы MIME:

1. Откройте страницу Сайты и домены > Настройки Apache & nginx.

2. В разделе «Типы MIME» выберите «Ввести свое значение».

3. Введите или удалите нужные типы MIME и нажмите OK.

## Настройка обработчиков Apache

Обработчики Apache сообщают веб-серверу о том, как надо обрабатывать файлы с определенными расширениями. Например, следующий обработчик

`cgi-script .cgi`

сообщает веб-серверу о том, что все файлы с расширением `.cgi` надо обрабатывать как CGI-скрипты. По умолчанию обработчики для файлов с распространенными расширениями уже предопределены. Однако если вы хотите изменить обработчик для файлов с определенным расширением, вам надо настроить один или более персональных обработчиков.

Чтобы настроить персональные обработчики:

1. Откройте страницу Сайты и домены > Настройки Apache & nginx.

2. В разделе «Обработчики» выберите «Ввести свое значение».

3. Введите или удалите нужные обработчики и нажмите OK.

## Запрет доступа к сайту

Вы можете запретить доступ на ваш сайт некоторым посетителям. Вы можете запретить доступ:

- С определенных IP-адресов (например, `192.168.1.110`)

- С подсетей IP-адресов (например, `127.0.0.1/8`)

- Владельцам определенных доменных имен (например, `example.com`)

- Всем (с помощью символа «`*`»)

При попытке зайти на сайт заблокированные посетители получат сообщение об ошибке «403 Forbidden».

Чтобы настроить доступ к сайту:

1. Откройте страницу Сайты и домены > Настройки Apache & nginx.

2. В разделе «Запретить доступ к сайту» выберите «Ввести свое значение».

3. Введите или удалите нужные IP-адреса, подсети или доменные имена.

4. Если вы заблокировали подсеть, но хотите разрешить одному или более IP-адресам этой подсети доступ к вашему сайту, введите эти адреса в поле «Исключения».

5. Нажмите OK.

## Настройка стартовых страниц

Каждый раз, когда посетитель вашего сайта открывает URL-адрес, который обращается к папке, а не к определенному файлу (например, `www.example.com` или `www.example.com/example` вместо `www.example.com/index.html`), Apache ищет стартовую страницу, которую надо открыть. По умолчанию Apache ищет следующие файлы (в указанном порядке):

1. `index.html`

2. `index.cgi`

3. `index.pl`

4. `index.php`

5. `index.xhtml`

6. `index.htm`

7. `index.shtml`

Если все семь файлов присутствуют в папке, посетитель, обратившейся к ней, увидит содержимое файла `index.html`. Если файл `index.html` отсутствует, Apache ищет вместо него файл `index.cgi` и так далее. Если ни один подходящий файл не найден, по умолчанию отображается ошибка «403 Forbidden».

Plesk позволяет выбрать, какой файл стартовой страницы будет искать Apache при обращении посетителя к вашему сайту:

- Вы можете изменить порядок, в котором Apache ищет стартовые страницы (например, вам может понадобиться, чтобы он по умолчанию искал файл `index.php` вместо `index.html`).

- Вы можете добавлять в список имена файлов стартовых страниц или удалять их (например, если файл стартовой страницы вашего сайта называется `hello.php`, вы можете настроить Apache так, чтобы он открывал его по умолчанию).

Чтобы настроить файлы стартовых страниц:

1. Откройте страницу Сайты и домены > Настройки Apache & nginx.

2. В разделе «Стартовые страницы» выберите «Ввести свое значение».

3. Введите или удалите нужные имена файлов стартовых страниц в том порядке, в котором Apache должен их искать, и нажмите OK.

## Настройка заголовка «Expires»

Заголовок `expires` в Apache указывает, как долго веб-браузеры должны хранить кэшированные копии содержимого вашего сайта до того, как заново запросить содержимое с сервера. Настройка этого заголовка может уменьшить нагрузку на сервер и ускорить работу вашего сайта.

Например, вы можете установить период истечения хранения содержимого 10 дней. Посетитель открывает ваш сайт, запрашивая страницу `index.html`. Веб-браузер посетителя хранит в кэше копию этой страницы, и в течение последующих 10 дней он должен открывать кэшированную копию при каждом обращении посетителя к сайту. На одиннадцатый день, если к странице снова было сделано обращение, браузер должен заново запросить страницу с сервера, так как у кэшированной копии истек строк хранения.

При настройке заголовка `expires` для сайтов с динамическим содержимым мы рекомендуем выбрать опцию «использовать заголовок Expires только для статических файлов». В противном случае все содержимое, включая динамическое, будет сохраняться в кэше браузера посетителя до истечения периода хранения. Такое поведение не рекомендуется, так как динамическое содержимое, как правило, часто обновляется.

Примечание

Для использования заголовка «Expires» требуется, чтобы модуль `mod_expires` был включен в Apache.

Чтобы сконфигурировать заголовок «Expires»:

1. Откройте страницу Сайты и домены > Настройки Apache & nginx.

2. В разделе «Expires» выберите «Ввести свое значение».

3. Укажите нужный период истечения срока хранения (рекомендуемая длительность периода – 14 дней).

4. Если ваш сайт содержит динамическое содержимое, удостоверьтесь, что выбрана опция «использовать заголовок Expires только для статических файлов».

5. Нажмите OK.

Примечание

Если включен nginx, только файлы, обслуживаемые Apache, будут иметь заголовок expires. Если выбрана опция «Интеллектуальная обработка статических файлов», выбор того, какие файлы считаются статическими, будет определяться конфигурациями Apache и nginx по умолчанию. Если выбрана опция «Обрабатывать статические файлы с помощью nginx», и указаны какие-либо файловые расширения, файлы с указанными расширениями будут обрабатываться с помощью nginx.

## Настройка дополнительных заголовков

Вы можете настроить дополнительные заголовки для HTTP-ответов согласно следующему шаблону:

`Имя : Значение`

Заголовки HTTP-ответов содержат информацию о запрошенной странице, необходимую для совершения веб-браузерами различных действий. Например, следующий заголовок защитит посетителей вашего сайта от кликджекинга:

`X-Frame-Options: DENY`

Чтобы настроить дополнительные заголовки:

1. Откройте страницу Сайты и домены > Настройки Apache & nginx.

2. В разделе «Дополнительные заголовки» выберите «Ввести свое значение».

3. Введите или удалите нужные заголовки и нажмите OK.

## Запрет на открытие символьных ссылок

По умолчанию в Apache можно открывать символьные ссылки. Если ваш сайт не использует символьные ссылки, мы рекомендуем отключить эту возможность, так как это может быть рискованно в плане безопасности.

Чтобы запретить Apache открывать символьные ссылки:

1. Откройте страницу Сайты и домены > Настройки Apache & nginx.

2. Установите флажок «Запретить открывать символьные ссылки» и нажмите «OK».

## Хостинг с использованием только nginx

В Plesk для Linux вы можете размещать сайты, используя комбинацию nginx и PHP-FPM. В этом случае запросы к сайтам не передаются в Apache, а вместо этого обслуживаются nginx. Хостинг только с nginx является удачным выбором для сайтов на PHP, хотя он также хорошо подходит для статических сайтов и серверов приложений. Вы можете настроить отдельные сайты на обслуживание только nginx без остановки или выключения Apache, и это никак не повлияет на сайты, обслуживаемые Apache.

Примечание

Службы Plesk (например, Webmail) продолжают работать с использованием Apache, и на них не влияет переключение на хостинг только с nginx.

Чтобы включить/выключить хостинг только с nginx для домена:

1. Откройте страницу Сайты и домены > Настройки Apache & nginx.

2. В разделе «Настройки nginx» снимите флажок «Режим прокси».

3. Нажмите Применить.

Чтобы вернуться к хостингу с использованием Apache совместно с nginx, установите флажок «Режим прокси».

# Известные ограничения

Когда вы переключаете домен на хостинг только с nginx, возникают следующие ограничения:

- Поддержка SSI, Perl и Python становится недоступна.

- Вы можете использовать только обработчик PHP «Сервер приложений FPM с nginx».

## Настройка обработки статических файлов

По умолчанию на серверах Plesk для Linux nginx и Apache работают совместно, при этом Apache обрабатывает динамическое содержимое, а nginx используется как прокси-сервер для обработки статического содержимого. Эта схема обеспечивает оптимальное использование ресурсов сервера и позволяет Plesk быстрее обслуживать запросы к сайтам. Однако в Plesk можно выбрать, как должно быть обработано статическое содержимое сайтов.

# Обработка всего статического содержимого с помощью nginx

Такое поведение используется в Plesk для Linux по умолчанию. Как только поступает запрос на статическое содержимое, Apache только определяет местоположение соответствующего файла, а nginx находит и обрабатывает этот файл.

Чтобы обрабатывать все статическое содержимое с помощью nginx:

1. Перейдите в раздел Сайты и домены > Настройки Apache и nginx и прокрутите вниз до раздела «Настройки nginx».

2. Выберите опции «Режим прокси» и «Интеллектуальная обработка статических файлов».

3. Удостоверьтесь, что опция «Обрабатывать статические файлы с помощью nginx» не выбрана.

4. Нажмите OK.

Примечание

In this configuration, files with static content that are less than 1 KB is size are always served by Apache, not nginx.

# Обработка с помощью nginx только файлов с определенными расширениями

При необходимости вы можете сделать так, чтобы только файлы с определенными расширениями обрабатывались как статическое содержимое с помощью nginx. Остальные файлы, которые обычно классифицируются как статическое содержимое, будут обрабатываться с помощью Apache. Важно отметить, что в этом случае запросы к файлам с указанными расширениями вообще никогда не достигают Apache. Следовательно, они не проходят через обработчики Apache. Это означает, к примеру, что правила перезаписи директив `.htaccess` не применяются.

Чтобы обрабатывать только определенное содержимое с помощью nginx:

1. Перейдите в раздел Сайты и домены > Настройки Apache и nginx и прокрутите вниз до раздела «Настройки nginx».

2. Выберите опции «Режим прокси» и «Обрабатывать статические файлы с помощью nginx».

3. По умолчанию некоторые расширения статических файлов уже заданы в поле «Обрабатывать статические файлы с помощью nginx». Вы можете добавить или удалить нужные расширения. Используйте пробел или символ «|» в качестве разделителя для расширений.

4. Нажмите OK.

Примечание

Включение опции “Обрабатывать статические файлы с помощью nginx” автоматически выключает режим “Интеллектуальная обработка статических файлов”, даже если стоит соответствующая галочка.

Примечание

In this configuration, files with the specified extensions are always served by nginx, regardless of their size.

# Обработка всего статического и динамического содержимого с помощью Apache

При необходимости вы можете отключить nginx и настроить Apache на обработку всего содержимого, как статического, так и динамического. Это может быть полезно в некоторых случаях, например, для диагностики неисправностей nginx. Мы не рекомендуем использовать Apache для обработки всего содержимого на рабочих сайтах.

Чтобы обрабатывать все статическое и динамическое содержимое с помощью Apache:

1. Перейдите в раздел Сайты и домены > Настройки Apache и nginx и прокрутите вниз до раздела «Настройки nginx».

2. Установите флажок «Режим прокси».

3. Снимите галочки «Интеллектуальная обработка статических файлов» и «Обрабатывать статические файлы с помощью nginx».

4. Нажмите OK.

## Настройки по умолчанию

Для каждого из параметров вы можете либо ввести собственное значение, либо оставить выбранным вариант По умолчанию. Во втором случае Plesk будет использовать значения из стандартной конфигурации веб-сервера, заданной администратором сервера (хостинг-провайдером).

Значения, которые вы введете вручную, заменят собой настройки по умолчанию. Единственное исключение – это параметр Запретить доступ к сайту: при регулировании доступа к вашему сайту будут учитываться IP-адреса как из стандартной конфигурации, так и введенные вами. В случае конфликта (например, если вы разрешите доступ IP-адресу, запрещенному в стандартной конфигурации), будут использоваться ваши значения.