# Веб-сервер Nginx

Nginx — это веб‑сервер, используемый платформой Navixy для работы веб‑сайта. Это бесплатное программное обеспечение, разработанное для работы на Linux, а также совместимое с Windows.

<div align="center"><img src="/files/0b36ac4f0d74fc45cd7ade564360fa933515f920" alt="Логотип Nginx"></div>

Nginx используется как для решения Navixy On‑premise, так и для серверов Navixy PaaS. Это единственный тип веб‑сервера, совместимость которого с платформой гарантирована. Другие веб‑серверы (Apache, IIS и т. п.) не поддерживаются.

{% hint style="info" %}
Если на вашем сервере наряду с Navixy On‑premise установлены другие веб‑приложения, вы можете использовать для этих продуктов другое программное обеспечение веб‑сервера параллельно с Nginx. В таком случае важно разделить порты для этих веб‑серверов, чтобы избежать конфликтов портов на одних и тех же портах.
{% endhint %}

## Конфигурации Nginx

Использование веб‑сервера подразумевает его настройку для корректной работы веб‑сайта. В конфигурации указываются такие важные параметры, как:

* Домен(ы) вашего веб‑сайта
* Протокол (HTTP/HTTPS)
* SSL‑сертификаты
* Расположение содержимого веб‑сайта

И другие параметры, необходимые для правильного функционирования веб‑страницы.

### Конфигурации для Linux

Текущая версия платформы Navixy On‑premise устанавливается на Linux автоматически — либо с помощью скриптов автоустановки, либо развертыванием docker‑контейнеров. В обоих случаях конфигурация Nginx выполняется автоматически при установке, и вам не нужно вносить в неё изменения — она полностью готова к дальнейшей работе.

Если ваш экземпляр был ранее развернут в ручном режиме, ранее выполненные конфигурации остаются полностью работоспособными и не требуют изменения, если только вы не собираетесь вносить принципиальные изменения в веб‑сайт (например, сменить домен или включить/отключить SSL). Если требуются какие‑либо модификации, пожалуйста, свяжитесь с [технической поддержкой Navixy](mailto:support@navixy.com) для дальнейших инструкций.

### Конфигурации для Windows

В случае Windows вся установка и настройка платформы Navixy On‑premise выполняется вручную и не автоматизирована. Следовательно, Nginx также необходимо настраивать вручную.

Чтобы упростить процесс настройки, предоставлены шаблоны конфигураций, которые можно использовать, просто заменив переменные на реальные значения домена и названий SSL‑сертификатов.

Шаблоны расположены в `\windows\nginx` папке `navixy-package` (распакованная сборка дистрибутива платформы Navixy On‑premise). Файлы:

* `navixy.conf` - файл конфигурации для сайта платформы, открытого по HTTP, без защиты SSL.
* `navixy_ssl.conf` - файл конфигурации для защищённого SSL сайта.

Выберите файл в соответствии с тем, как вы планируете настроить веб‑сайт.

{% hint style="info" %}
Значения переменных указаны со знаком доллара и в фигурных скобках — эти символы обозначают переменную. Например:\
`${service_domain}`\
При замене переменной на реальное значение эти символы должны быть удалены. Например:\
`${service_domain}` становится `my.domain.com`
{% endhint %}

#### HTTP, без защиты SSL

Это самый простой вариант настройки веб‑сайта платформы Navixy — требуется только зарегистрированный домен(ы), указывающий на ваш сервер.

Отредактируйте файл `navixy.conf` расположенный в `C:\nginx\conf\conf.d` . Замените следующие значения:

* `${service_domain}` - домен пользовательского интерфейса при трёхдоменной установке или основной домен вашей платформы при однодоменной установке.
* `${api_domain}` - домен для API при трёхдоменной установке. При однодоменной установке удалите переменную, но сохраните остальную часть строки.
* `${panel_domain}` - домен для панели администрирования при трёхдоменной установке. При однодоменной установке удалите переменную, но сохраните остальную часть строки.

Сохраните файл и перезапустите Nginx. Ваш сайт Navixy должен быть доступен по указанным доменам.

В случае однодоменной установки панель администрирования будет доступна по пути `/panel` (например, `http://my.domain.com/panel`), а API будет доступно по пути `/api` (например, `http://my.domain.com/api`).

#### HTTPS, защищённый SSL

Для настройки защищённого SSL‑сайта вам потребуется не только зарегистрированный домен, но и действительный SSL‑сертификат и его закрытый ключ.

{% hint style="info" %}
Для получения дополнительной информации о SSL‑сертификатах, пожалуйста, ознакомьтесь с [соответствующей страницей](/docs/on-premise/ru/on-premise/how-to-guide/configuration/ssl-certificates/ssl-certificates-installation.md) инструкции.
{% endhint %}

Разместите SSL‑сертификат(ы) и закрытый(е) ключ(и) в `C:\nginx\ssl` папке. Создайте её, если она не существует.

Отредактируйте файл `navixy_ssl.conf` расположенный в `C:\nginx\conf\conf.d` . Замените следующие значения:

* `${service_domain}` - домен пользовательского интерфейса при трёхдоменной установке или основной домен вашей платформы при однодоменной установке.
* `${api_domain}` - домен для API при трёхдоменной установке. При однодоменной установке удалите переменную, но сохраните остальную часть строки.
* `${panel_domain}` - домен для панели администрирования при трёхдоменной установке. При однодоменной установке удалите переменную, но сохраните остальную часть строки.
* `${certificate_name}` - имя файла сертификата с расширением. Должен быть сертификат, выпущенный для домена.
* `${private_key_name}` - имя файла закрытого ключа с расширением. Ключ должен соответствовать сертификату.

Сохраните файл и перезапустите Nginx. Ваш сайт Navixy должен быть доступен по указанным доменам.

В случае однодоменной установки панель администрирования будет доступна по пути /panel (например, `https://my.domain.com/panel`), а API будет доступно по пути /api (например, `https://my.domain.com/api`).

#### Перенаправление HTTP → HTTPS

Когда вы используете HTTPS, вы можете захотеть, чтобы ваши пользователи попадали на платформу, даже если они вводят адрес по HTTP. Для этого необходимо иметь `navixy.conf` (HTTP‑конфигурация), применённую вместе с `navixy_ssl.conf` (HTTPS‑конфигурация).

Настройте `navixy.conf` как указано выше в **разделе «HTTP»** и затем раскомментируйте следующую строку (удалите символ `#` ):

```
#return 301 https://$host$request_uri;
```

Сохраните файл и перезапустите Nginx для применения изменений. Теперь HTTP‑запросы будут перенаправляться на HTTPS.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://navixy.com/docs/on-premise/ru/on-premise/how-to-guide/configuration/nginx-web-server.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
