view xml/en/index.xml @ 384:331a86bc51ff

English translation of ngx_http_ssl_module.
author Ruslan Ermilov <ru@nginx.com>
date Wed, 01 Feb 2012 06:00:57 +0000
parents e72701967099
children 5fd99d37a3e6
line wrap: on
line source

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

<article name="nginx"
         link="/en/"
         lang="en">


<section>

<para>
nginx [engine x] is an HTTP and reverse proxy server,
as well as a mail proxy server,
written by <link url="http://sysoev.ru/en/">Igor Sysoev</link>.
For a long time, it has been running
on many heavily loaded Russian sites including
<link url="http://www.yandex.ru">Yandex</link>,
<link url="http://www.mail.ru">Mail.Ru</link>,
<link url="http://vkontakte.ru">VKontakte</link>, and
<link url="http://www.rambler.ru">Rambler</link>.
According to Netcraft nginx served or proxied
<link url="http://news.netcraft.com/archives/2012/01/03/january-2012-web-server-survey.html">8.49%
busiest sites in January 2012</link>.
Here are some of the success stories:
<link url="http://blog.fastmail.fm/2007/01/04/webimappop-frontend-proxies-changed-to-nginx/">FastMail.FM</link>,
<link url="http://barry.wordpress.com/2008/04/28/load-balancer-update/">Wordpress.com</link>.
</para>

<para>
The sources are distributed under the
<link url="../LICENSE">2-clause BSD-like license</link>.
</para>

</section>


<section id="basic_http_features"
        name="Basic HTTP server features">

<para>
<list>

<item>
Serving static and index files, and
<link doc="docs/http/ngx_http_autoindex_module.xml">autoindexing</link>;
<link doc="docs/http/ngx_http_core_module.xml"
       id="open_file_cache">open file descriptor cache</link>;
</item>

<item>
<link doc="docs/http/ngx_http_proxy_module.xml">Accelerated
reverse proxying with caching</link>;
<link doc="docs/http/ngx_http_upstream_module.xml">simple
load balancing and fault tolerance</link>;
</item>

<item>
Accelerated support with caching of
<link doc="docs/http/ngx_http_fastcgi_module.xml">FastCGI</link>,
uwsgi, SCGI, and
<link doc="docs/http/ngx_http_memcached_module.xml">memcached</link>
servers;
<link doc="docs/http/ngx_http_upstream_module.xml">simple
load balancing and fault tolerance</link>;
</item>

<item>
Modular architecture.
Filters include
<link doc="docs/http/ngx_http_gzip_module.xml">gzipping</link>,
byte ranges, chunked responses,
<link doc="docs/http/ngx_http_xslt_module.xml">XSLT</link>,
SSI,
and <link doc="docs/http/ngx_http_image_filter_module.xml">image
transformation</link> filter.
Multiple SSI inclusions within a single page can be processed in
parallel if they are handled by proxied or FastCGI servers;
</item>

<item>
<link doc="docs/http/ngx_http_ssl_module.xml">SSL and
TLS SNI support</link>.
</item>

</list>
</para>

</section>


<section id="other_http_features"
        name="Other HTTP server features">

<para>
<list>

<item>
Name-based and IP-based virtual servers;
</item>

<item>
<link doc="docs/http/ngx_http_core_module.xml"
       id="keepalive_timeout">Keep-alive</link>
and pipelined connections support;
</item>

<item>
Flexible configuration;
</item>

<item>
<link doc="docs/control.xml" id="reconfiguration">Reconfiguration</link>
and <link doc="docs/control.xml" id="upgrade">upgrade of an
executable</link> without interruption of the client servicing;
</item>

<item>
<link doc="docs/http/ngx_http_log_module.xml" id="log_format">Access
log formats</link>,
<link doc="docs/http/ngx_http_log_module.xml" id="access_log">buffered
log writing</link>, and
<link doc="docs/control.xml" id="logs">fast log rotation</link>;
</item>

<item>
3xx-5xx error codes
<link doc="docs/http/ngx_http_core_module.xml"
       id="error_page">redirection</link>;
</item>

<item>
The rewrite module: URI changing using regular expressions;
</item>

<item>
Executing different functions depending on the
<link doc="docs/http/ngx_http_geo_module.xml">client address</link>;
</item>

<item>
Access control based on
<link doc="docs/http/ngx_http_access_module.xml">client IP address</link>
and <link doc="docs/http/ngx_http_auth_basic_module.xml">HTTP
Basic authentication</link>;
</item>

<item>
The <link doc="docs/http/ngx_http_dav_module.xml">PUT, DELETE, MKCOL, COPY,
and MOVE</link> methods;
</item>

<item>
<link doc="docs/http/ngx_http_flv_module.xml">FLV</link>
and
<link doc="docs/http/ngx_http_mp4_module.xml">MP4</link>
streaming;
</item>

<item>
<link doc="docs/http/ngx_http_core_module.xml"
       id="limit_rate">Response rate limiting</link>;
</item>

<item>
Limiting the number of simultaneous
<link doc="docs/http/ngx_http_limit_conn_module.xml">connections</link>
or
<link doc="docs/http/ngx_http_limit_req_module.xml">requests</link>
coming from one address;
</item>

<item>
Embedded Perl.
</item>

</list>
</para>

</section>


<section id="mail_proxy_server_features"
        name="Mail proxy server features">

<para>
<list>

<item>
User redirection to IMAP/POP3 backend using an external HTTP
authentication server;
</item>

<item>
User authentication using an external HTTP authentication server
and connection redirection to an internal SMTP backend;
</item>

<item>
Authentication methods:

<list>

<item>
POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
</item>

<item>
IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
</item>

<item>
SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
</item>

</list>
</item>

<item>
SSL support;
</item>

<item>
STARTTLS and STLS support.
</item>

</list>
</para>

</section>


<section id="architecture_and_scalability"
        name="Architecture and scalability">

<para>
<list>

<item>
One master and several worker processes;
worker processes run under an unprivileged user;
</item>

<item>
The notification methods: kqueue (FreeBSD 4.1+),
epoll (Linux 2.6+), rt signals (Linux 2.2.19+),
/dev/poll (Solaris 7 11/99+), event ports (Solaris 10),
select, and poll;
</item>

<item>
The support of the various kqueue features including EV_CLEAR, EV_DISABLE
(to temporarily disable events), NOTE_LOWAT, EV_EOF, number of available data,
error codes;
</item>

<item>
sendfile (FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5+), sendfile64 (Linux 2.4.21+),
and sendfilev (Solaris 8 7/01+) support;
</item>

<item>
<link doc="docs/http/ngx_http_core_module.xml" id="aio">File AIO</link>
(FreeBSD 4.3+, Linux 2.6.22+);
</item>

<item>
<link doc="docs/http/ngx_http_core_module.xml" id="directio">DIRECTIO</link>
(FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, Mac OS X);
</item>

<item>
Accept-filters (FreeBSD 4.1+) and TCP_DEFER_ACCEPT (Linux 2.4+)
<link doc="docs/http/ngx_http_core_module.xml" id="listen">support</link>;
</item>

<item>
10,000 inactive HTTP keep-alive connections take about 2.5M memory;
</item>

<item>
Data copy operations are kept to a minimum.
</item>

</list>
</para>

</section>


<section id="tested_os_and_platforms"
        name="Tested OS and platforms">

<para>
<list>

<item>
FreeBSD 3 &mdash; 10 / i386; FreeBSD 5 &mdash; 10 / amd64;
</item>

<item>
Linux 2.2 &mdash; 2.6 / i386; Linux 2.6 / amd64;
</item>

<item>
Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
</item>

<item>
AIX 7.1 / powerpc
</item>

<item>
Mac OS X / ppc, i386;
</item>

<item>
Windows XP, Windows Server 2003.
</item>

</list>
</para>

</section>

</article>