view xml/ru/index.xml @ 2769:16f6fa718be2

Updated TLSv1.3 support notes. Previous notes described some early development snapshot of OpenSSL 1.1.1 with disabled TLSv1.3 by default. It was then enabled in the first alpha. Further, the updated text covers later major releases such as OpenSSL 3.0.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 30 Sep 2021 16:29:20 +0300
parents 5a7d41e3cb83
children 91aaf82442e9
line wrap: on
line source

<!--
  Copyright (C) Igor Sysoev
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE article SYSTEM "../../dtd/article.dtd">

<article name="nginx"
         link="/ru/"
         lang="ru"
         rev="133">


<section>

<para>
nginx [engine x]&mdash;это HTTP-сервер и обратный прокси-сервер,
почтовый прокси-сервер,
а также TCP/UDP прокси-сервер общего назначения,
изначально написанный <link url="http://sysoev.ru">Игорем Сысоевым</link>.
Уже длительное время он обслуживает
серверы многих высоконагруженных российских сайтов, таких как
<link url="http://www.yandex.ru">Яндекс</link>,
<link url="http://mail.ru">Mail.Ru</link>,
<link url="http://vk.com">ВКонтакте</link> и
<link url="http://www.rambler.ru">Рамблер</link>.
Согласно статистике Netcraft nginx обслуживал или проксировал
<link url="https://news.netcraft.com/archives/2021/08/25/august-2021-web-server-survey.html">22.38%
самых нагруженных сайтов в августе 2021 года</link>.
Вот некоторые примеры успешного внедрения nginx (тексты на английском языке):
<link url="https://blogs.dropbox.com/tech/2017/09/optimizing-web-servers-for-high-throughput-and-low-latency/">Dropbox</link>,
<link url="https://openconnect.netflix.com/en/software/">Netflix</link>,
<link url="https://www.nginx.com/case-studies/nginx-wordpress-com/">Wordpress.com</link>,
<link url="http://blog.fastmail.fm/2007/01/04/webimappop-frontend-proxies-changed-to-nginx/">FastMail.FM</link>.
</para>

<para>
Исходные тексты и документация распространяются под
<link url="../LICENSE">BSD-подобной лицензией из 2 пунктов</link>.
</para>

<para>
Коммерческая поддержка осуществляется компанией
<link url="https://www.nginx.com">Nginx, Inc.</link>
</para>

</section>


<section id="basic_http_features"
        name="Основная функциональность HTTP-сервера">

<para>
<list type="bullet">

<listitem>
Обслуживание статических запросов,
<link doc="docs/http/ngx_http_index_module.xml">индексных
файлов</link>,
<link doc="docs/http/ngx_http_autoindex_module.xml">автоматическое
создание списка файлов</link>,
<link doc="docs/http/ngx_http_core_module.xml"
       id="open_file_cache">кэш дескрипторов открытых файлов</link>;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_proxy_module.xml">Акселерированное
обратное проксирование с кэшированием</link>,
<link doc="docs/http/ngx_http_upstream_module.xml">распределение нагрузки
и отказоустойчивость</link>;
</listitem>

<listitem>
Акселерированная поддержка
<link doc="docs/http/ngx_http_fastcgi_module.xml">FastCGI</link>,
<link doc="docs/http/ngx_http_uwsgi_module.xml">uwsgi</link>,
<link doc="docs/http/ngx_http_scgi_module.xml">SCGI</link> и
<link doc="docs/http/ngx_http_memcached_module.xml">memcached</link>
серверов с кэшированием,
<link doc="docs/http/ngx_http_upstream_module.xml">распределение нагрузки
и отказоустойчивость</link>;
</listitem>

<listitem>
Модульность, фильтры, в том числе
<link doc="docs/http/ngx_http_gzip_module.xml">сжатие (gzip)</link>,
byte-ranges (докачка),
chunked ответы,
<link doc="docs/http/ngx_http_xslt_module.xml">XSLT-фильтр</link>,
<link doc="docs/http/ngx_http_ssi_module.xml">SSI-фильтр</link>,
<link doc="docs/http/ngx_http_image_filter_module.xml">преобразование
изображений</link>;
несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре
через прокси или FastCGI/uwsgi/SCGI, выполняются параллельно;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_ssl_module.xml">Поддержка SSL и
расширения TLS SNI</link>;
</listitem>

<listitem>
Поддержка <link doc="docs/http/ngx_http_v2_module.xml">HTTP/2</link>
с приоритизацией на основе весов и зависимостей.
</listitem>

</list>
</para>

</section>


<section id="other_http_features"
        name="Другие возможности HTTP-сервера">

<para>
<list type="bullet">

<listitem>
<link doc="docs/http/request_processing.xml">Виртуальные серверы</link>,
определяемые по IP-адресу и имени;
</listitem>

<listitem>
Поддержка
<link doc="docs/http/ngx_http_core_module.xml"
       id="keepalive_timeout">keep-alive</link>
и pipelined соединений;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_log_module.xml" id="log_format">Настройка
форматов логов</link>,
<link doc="docs/http/ngx_http_log_module.xml" id="access_log">буферизованная
запись в лог</link>,
<link doc="docs/control.xml" id="logs">быстрая ротация логов</link>,
<link doc="docs/syslog.xml">запись в syslog</link>;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_core_module.xml" id="error_page">Специальные
страницы</link> для ошибок 3xx-5xx;
</listitem>

<listitem>
rewrite-модуль:
<link doc="docs/http/ngx_http_rewrite_module.xml">изменение URI
с помощью регулярных выражений</link>;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_rewrite_module.xml" id="if">Выполнение
разных функций</link> в зависимости от
<link doc="docs/http/ngx_http_geo_module.xml">адреса клиента</link>;
</listitem>

<listitem>
Ограничение доступа в зависимости от
<link doc="docs/http/ngx_http_access_module.xml">адреса клиента</link>,
<link doc="docs/http/ngx_http_auth_basic_module.xml">по паролю
(HTTP Basic аутентификация)</link> и по
<link doc="docs/http/ngx_http_auth_request_module.xml">результату
подзапроса</link>;
</listitem>

<listitem>
Проверка <link doc="docs/http/ngx_http_referer_module.xml">HTTP referer</link>;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_dav_module.xml">Методы
PUT, DELETE, MKCOL, COPY и MOVE</link>;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_flv_module.xml">FLV</link>
и
<link doc="docs/http/ngx_http_mp4_module.xml">MP4</link>
стриминг;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_core_module.xml"
       id="limit_rate">Ограничение скорости отдачи ответов</link>;
</listitem>

<listitem>
Ограничение числа одновременных
<link doc="docs/http/ngx_http_limit_conn_module.xml">соединений</link> и
<link doc="docs/http/ngx_http_limit_req_module.xml">запросов</link>
с одного адреса;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_geoip_module.xml">Геолокация по IP-адресу</link>;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_split_clients_module.xml">A/B-тестирование</link>;
</listitem>

<listitem>
<link doc="docs/http/ngx_http_mirror_module.xml">Зеркалирование запросов</link>;
</listitem>

<listitem>
Встроенный <link doc="docs/http/ngx_http_perl_module.xml">Perl</link>;
</listitem>

<listitem>
сценарный язык <link doc="docs/njs/index.xml">njs</link>.
</listitem>

</list>
</para>

</section>


<section id="mail_proxy_server_features"
        name="Функциональность почтового прокси-сервера">

<para>
<list type="bullet">

<listitem>
Перенаправление пользователя на
<link doc="docs/mail/ngx_mail_imap_module.xml">IMAP</link>-
или
<link doc="docs/mail/ngx_mail_pop3_module.xml">POP3</link>-сервер
с использованием внешнего HTTP-сервера
<link doc="docs/mail/ngx_mail_auth_http_module.xml">аутентификации</link>;
</listitem>

<listitem>
Проверка пользователя с помощью внешнего HTTP-сервера
<link doc="docs/mail/ngx_mail_auth_http_module.xml">аутентификации</link>
и перенаправление соединения на внутренний
<link doc="docs/mail/ngx_mail_smtp_module.xml">SMTP</link>-сервер;
</listitem>

<listitem>
Методы аутентификации:

<list type="bullet">

<listitem>
<link doc="docs/mail/ngx_mail_pop3_module.xml" id="pop3_auth">POP3</link>:
USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
</listitem>

<listitem>
<link doc="docs/mail/ngx_mail_imap_module.xml" id="imap_auth">IMAP</link>:
LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
</listitem>

<listitem>
<link doc="docs/mail/ngx_mail_smtp_module.xml" id="smtp_auth">SMTP</link>:
AUTH LOGIN/PLAIN/CRAM-MD5;
</listitem>

</list>
</listitem>

<listitem>
Поддержка <link doc="docs/mail/ngx_mail_ssl_module.xml">SSL</link>;
</listitem>

<listitem>
Поддержка
<link doc="docs/mail/ngx_mail_ssl_module.xml" id="starttls">STARTTLS
и STLS</link>.
</listitem>

</list>
</para>

</section>


<section id="generic_proxy_server_features"
        name="Функциональность TCP/UDP прокси-сервера">

<para>
<list type="bullet">

<listitem>
<link doc="docs/stream/ngx_stream_proxy_module.xml">Проксирование
TCP и UDP;</link>
</listitem>

<listitem>
Поддержка <link doc="docs/stream/ngx_stream_ssl_module.xml">SSL</link> и
расширения TLS
<link doc="docs/stream/ngx_stream_ssl_preread_module.xml">SNI</link>
для TCP;
</listitem>

<listitem>
<link doc="docs/stream/ngx_stream_upstream_module.xml">Распределение нагрузки
и отказоустойчивость</link>;
</listitem>

<listitem>
Ограничение доступа в зависимости от
<link doc="docs/stream/ngx_stream_access_module.xml">адреса клиента</link>;
</listitem>

<listitem>
Выполнение разных функций в зависимости от
<link doc="docs/http/ngx_http_geo_module.xml">адреса клиента</link>;
</listitem>

<listitem>
Ограничение числа одновременных
<link doc="docs/stream/ngx_stream_limit_conn_module.xml">соединений</link>
с одного адреса;
</listitem>

<listitem>
<link doc="docs/stream/ngx_stream_log_module.xml" id="log_format">Настройка
форматов логов</link>,
<link doc="docs/stream/ngx_stream_log_module.xml" id="access_log">буферизованная
запись в лог</link>,
<link doc="docs/control.xml" id="logs">быстрая ротация логов</link>,
<link doc="docs/syslog.xml">запись в syslog</link>;
</listitem>

<listitem>
<link doc="docs/stream/ngx_stream_geoip_module.xml">Геолокация по IP-адресу</link>;
</listitem>

<listitem>
<link doc="docs/stream/ngx_stream_split_clients_module.xml">A/B-тестирование</link>;
</listitem>

<listitem>
сценарный язык <link doc="docs/njs/index.xml">njs</link>.
</listitem>

</list>
</para>

</section>


<section id="architecture_and_scalability"
        name="Архитектура и масштабируемость">

<para>
<list type="bullet">

<listitem>
Один главный и несколько рабочих процессов, рабочие процессы работают под
непривилегированным пользователем;
</listitem>

<listitem>
<link doc="docs/example.xml">Гибкость конфигурации</link>;
</listitem>

<listitem>
<link doc="docs/control.xml" id="reconfiguration">Изменение настроек</link>
и <link doc="docs/control.xml" id="upgrade">обновление
исполняемого файла</link> без перерыва в обслуживании клиентов;
</listitem>

<listitem>
<link doc="docs/events.xml">Поддержка</link>
kqueue (FreeBSD 4.1+),
epoll (Linux 2.6+),
/dev/poll <nobr>(Solaris 7 11/99+),</nobr>
event ports <nobr>(Solaris 10),</nobr>
select и poll;
</listitem>

<listitem>
Использование возможностей, предоставляемых kqueue, таких как
<!-- EVFILT_VNODE, --> EV_CLEAR, EV_DISABLE (для временного выключения события),
NOTE_LOWAT, EV_EOF, число доступных данных, коды ошибок;
</listitem>

<listitem>
Использование возможностей, предоставляемых epoll, таких как
EPOLLRDHUP (Linux 2.6.17+, glibc 2.8+) и
EPOLLEXCLUSIVE (Linux 4.5+, glibc 2.24+);
</listitem>

<listitem>
Поддержка sendfile (FreeBSD 3.1+, Linux 2.2+, macOS 10.5+),
sendfile64 (Linux 2.4.21+) и sendfilev <nobr>(Solaris 8 7/01+);</nobr>
</listitem>

<listitem>
Поддержка
<link doc="docs/http/ngx_http_core_module.xml" id="aio">файлового
AIO</link> (FreeBSD 4.3+, Linux 2.6.22+);
</listitem>

<listitem>
Поддержка
<link doc="docs/http/ngx_http_core_module.xml" id="directio">DIRECTIO</link>
(FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, macOS);
</listitem>

<listitem>
<link doc="docs/http/ngx_http_core_module.xml" id="listen">Поддержка</link>
accept-фильтров (FreeBSD 4.1+, NetBSD 5.0+) и TCP_DEFER_ACCEPT (Linux 2.4+);
</listitem>

<listitem>
На <nobr>10 000</nobr> неактивных HTTP keep-alive соединений расходуется
около 2.5M памяти;
</listitem>

<listitem>
Минимум операций копирования данных.
</listitem>

</list>
</para>

</section>


<section id="tested_os_and_platforms"
        name="Протестированные ОС и платформы">

<para>
<list type="bullet">

<listitem>
FreeBSD 3&mdash;12 / i386;
FreeBSD 5&mdash;12 / amd64;
FreeBSD 11 / ppc;
FreeBSD 12 / ppc64;
</listitem>

<listitem>
Linux 2.2&mdash;4 / i386;
Linux 2.6&mdash;5 / amd64;
Linux 3&mdash;4 / armv6l, armv7l, aarch64, ppc64le;
</listitem>

<listitem>
Solaris 9 / i386, sun4u;
Solaris 10 / i386, amd64, sun4v;
Solaris 11 / x86;
</listitem>

<listitem>
AIX 7.1 / powerpc;
</listitem>

<listitem>
HP-UX 11.31 / ia64;
</listitem>

<listitem>
macOS / ppc, i386, x86_64;
</listitem>

<listitem>
Windows XP,
Windows Server 2003,
Windows 7,
Windows 10.
</listitem>

</list>
</para>

</section>

</article>