changeset 3044:6c78190bc1cb

Free nginx: removed obsolete translations.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 14 Feb 2024 20:05:51 +0300
parents 9eadb98ec770
children 91a2ee74ca72
files xml/cn/GNUmakefile xml/cn/docs/debugging_log.xml xml/cn/docs/faq.xml xml/cn/docs/http/configuring_https_servers.xml xml/cn/docs/http/converting_rewrite_rules.xml xml/cn/docs/http/ngx_http_access_module.xml xml/cn/docs/http/ngx_http_addition_module.xml xml/cn/docs/http/ngx_http_auth_basic_module.xml xml/cn/docs/http/ngx_http_autoindex_module.xml xml/cn/docs/http/ngx_http_browser_module.xml xml/cn/docs/http/ngx_http_core_module.xml xml/cn/docs/http/ngx_http_empty_gif_module.xml xml/cn/docs/http/ngx_http_flv_module.xml xml/cn/docs/http/ngx_http_geo_module.xml xml/cn/docs/http/ngx_http_geoip_module.xml xml/cn/docs/http/ngx_http_gzip_static_module.xml xml/cn/docs/http/ngx_http_image_filter_module.xml xml/cn/docs/http/ngx_http_index_module.xml xml/cn/docs/http/ngx_http_limit_conn_module.xml xml/cn/docs/http/ngx_http_limit_req_module.xml xml/cn/docs/http/ngx_http_log_module.xml xml/cn/docs/http/ngx_http_map_module.xml xml/cn/docs/http/ngx_http_proxy_module.xml xml/cn/docs/http/ngx_http_referer_module.xml xml/cn/docs/http/ngx_http_rewrite_module.xml xml/cn/docs/http/ngx_http_upstream_module.xml xml/cn/docs/http/request_processing.xml xml/cn/docs/http/server_names.xml xml/cn/docs/index.xml xml/cn/docs/syntax.xml xml/cn/docs/sys_errlist.xml xml/cn/docs/welcome_nginx_facebook.xml xml/cn/docs/windows.xml xml/cn/index.xml xml/he/GNUmakefile xml/he/docs/http/converting_rewrite_rules.xml xml/he/docs/http/server_names.xml xml/he/docs/index.xml xml/he/docs/windows.xml xml/he/index.xml xml/i18n.xml xml/it/GNUmakefile xml/it/docs/beginners_guide.xml xml/it/docs/configure.xml xml/it/docs/contributing_changes.xml xml/it/docs/control.xml xml/it/docs/debugging_log.xml xml/it/docs/events.xml xml/it/docs/hash.xml xml/it/docs/howto_build_on_win32.xml xml/it/docs/http/configuring_https_servers.xml xml/it/docs/http/converting_rewrite_rules.xml xml/it/docs/http/request_processing.xml xml/it/docs/http/server_names.xml xml/it/docs/index.xml xml/it/docs/install.xml xml/it/docs/syntax.xml xml/it/docs/windows.xml xml/it/download.xml xml/it/index.xml xml/it/linux_packages.xml xml/it/support.xml xml/ja/GNUmakefile xml/ja/docs/debugging_log.xml xml/ja/docs/faq.xml xml/ja/docs/http/configuring_https_servers.xml xml/ja/docs/http/converting_rewrite_rules.xml xml/ja/docs/http/request_processing.xml xml/ja/docs/http/server_names.xml xml/ja/docs/index.xml xml/ja/docs/sys_errlist.xml xml/ja/index.xml xml/menu.xml xml/tr/GNUmakefile xml/tr/docs/debugging_log.xml xml/tr/docs/faq.xml xml/tr/docs/http/configuring_https_servers.xml xml/tr/docs/http/converting_rewrite_rules.xml xml/tr/docs/http/request_processing.xml xml/tr/docs/http/server_names.xml xml/tr/docs/index.xml xml/tr/docs/sys_errlist.xml xml/tr/docs/windows.xml xml/tr/index.xml xsls/article.xsls xsls/body.xsls xsls/style.xsls
diffstat 87 files changed, 1 insertions(+), 17643 deletions(-) [+]
line wrap: on
line diff
deleted file mode 100644
--- a/xml/cn/GNUmakefile
+++ /dev/null
@@ -1,37 +0,0 @@
-DOCS =									\
-		faq							\
-		windows							\
-		syntax							\
-		dirindex						\
-		http/request_processing					\
-		http/server_names					\
-		http/configuring_https_servers				\
-		debugging_log						\
-		http/converting_rewrite_rules				\
-
-FAQ =									\
-		welcome_nginx_facebook					\
-		sys_errlist						\
-
-REFS =									\
-		http/ngx_http_access_module				\
-		http/ngx_http_addition_module				\
-		http/ngx_http_auth_basic_module				\
-		http/ngx_http_autoindex_module				\
-		http/ngx_http_browser_module				\
-		http/ngx_http_core_module				\
-		http/ngx_http_empty_gif_module				\
-		http/ngx_http_flv_module				\
-		http/ngx_http_geo_module				\
-		http/ngx_http_geoip_module				\
-		http/ngx_http_gzip_static_module			\
-		http/ngx_http_image_filter_module			\
-		http/ngx_http_index_module				\
-		http/ngx_http_limit_conn_module				\
-		http/ngx_http_limit_req_module				\
-		http/ngx_http_log_module				\
-		http/ngx_http_map_module				\
-		http/ngx_http_proxy_module				\
-		http/ngx_http_referer_module				\
-		http/ngx_http_rewrite_module				\
-		http/ngx_http_upstream_module				\
deleted file mode 100644
--- a/xml/cn/docs/debugging_log.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="调试日志"
-         link="/cn/docs/debugging_log.html"
-         lang="cn"
-         rev="1">
-
-
-<section>
-
-<para>
-要开启调试日志,首先需要在配置nginx时打开调试功能,然后编译:
-
-<programlisting>
-./configure --with-debug ...
-</programlisting>
-
-然后在配置文件中设置<literal>error_log</literal>的级别为<literal>debug</literal>:
-
-<programlisting>
-error_log  /path/to/log  debug;
-</programlisting>
-
-nginx的windows二进制版本总是将调试日志开启的,因此只需要设置<literal>debug</literal>的日志级别即可。
-</para>
-
-<para>
-注意,重新定义错误日志时,如过没有指定<literal>debug</literal>级别,调试日志会被屏蔽。下面的例子里,在<link doc="http/ngx_http_core_module.xml" id="server"/>层中重新定义的日志就屏蔽了这个虚拟主机的调试日志:
-<programlisting>
-error_log  /path/to/log  debug;
-
-http {
-    server {
-        error_log  /path/to/log;
-        ...
-</programlisting>
-为了避免这个问题,注释这行重新定义日志的配置,或者也给日志指定<literal>debug</literal>级别:
-<programlisting>
-error_log  /path/to/log  debug;
-
-http {
-    server {
-        error_log  /path/to/log  debug;
-        ...
-</programlisting>
-</para>
-
-<para>
-另外,也可以只针对<link doc="ngx_core_module.xml" id="debug_connection">选定的客户端地址</link>开启调试日志:
-
-<programlisting>
-error_log  /path/to/log;
-
-events {
-    debug_connection   192.168.1.1;
-    debug_connection   192.168.10.0/24;
-}
-</programlisting>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/cn/docs/faq.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="FAQ"
-         link="/cn/docs/faq.html"
-         lang="cn">
-
-
-<section>
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="welcome_nginx_facebook.xml"/>
-</listitem>
-
-<listitem>
-<link doc="sys_errlist.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/cn/docs/http/configuring_https_servers.xml
+++ /dev/null
@@ -1,396 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="配置HTTPS服务器"
-         link="/cn/docs/http/configuring_https_servers.html"
-         lang="cn"
-         rev="3"
-         translator="cfsego"
-         author="Igor Sysoev"
-         editor="Brian Mercer">
-
-<section>
-
-<para>
-配置HTTPS主机,必须在server配置块中打开SSL协议,还需要指定服务器端证书和密钥文件的位置:
-
-<programlisting>
-server {
-    listen              443;
-    server_name         www.example.com;
-    ssl                 <b>on</b>;
-    ssl_certificate     <b>www.example.com.crt</b>;
-    ssl_certificate_key <b>www.example.com.key</b>;
-    ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
-    ssl_ciphers         HIGH:!aNULL:!MD5;
-    ...
-}
-</programlisting>
-
-服务器证书是公开的,会被传送到每一个连接到服务器的客户端。而私钥不是公开的,需要存放在访问受限的文件中,当然,nginx主进程必须有读取密钥的权限。私钥和证书可以存放在同一个文件中:
-
-<programlisting>
-    ssl_certificate     www.example.com.cert;
-    ssl_certificate_key www.example.com.cert;
-</programlisting>
-
-这种情况下,证书文件同样得设置访问限制。当然,虽然证书和密钥存放在同一个文件,只有证书会发送给客户端,密钥不会发送。
-</para>
-
-<para>
-<link doc="ngx_http_ssl_module.xml" id="ssl_protocols"/>和<link doc="ngx_http_ssl_module.xml" id="ssl_ciphers"/>指令可以用来强制用户连接只能引入SSL/TLS那些强壮的协议版本和强大的加密算法。从1.0.5版本开始,nginx默认使用“<literal>ssl_protocols SSLv3 TLSv1</literal>”和“<literal>ssl_ciphers HIGH:!aNULL:!MD5</literal>”,所以只有在之前的版本,明确地配置它们才是有意义的。从1.1.13和1.0.12版本开始,nginx默认使用“<literal>ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2</literal>”。
-</para>
-
-<para>
-CBC模式的加密算法容易受到一些攻击,尤其是BEAST攻击(参见<link url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3389">CVE-2011-3389</link>)。可以通过下面配置调整为优先使用RC4-SHA加密算法:
-
-<programlisting>
-    ssl_ciphers RC4:HIGH:!aNULL:!MD5;
-    ssl_prefer_server_ciphers on;
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="optimization" name="HTTPS服务器优化">
-
-<para>
-SSL操作需要消耗CPU资源,所以在多处理器的系统,需要启动多个工作进程,而且数量需要不少于可用CPU的个数。最消耗CPU资源的SSL操作是SSL握手,有两种方法可以将每个客户端的握手操作数量降到最低:第一种是保持客户端长连接,在一个SSL连接发送多个请求,第二种是在并发的连接或者后续的连接中重用SSL会话参数,这样可以避免SSL握手的操作。会话缓存用于保存SSL会话,这些缓存在工作进程间共享,可以使用<link doc="ngx_http_ssl_module.xml" id="ssl_session_cache"/>指令进行配置。1M缓存可以存放大约4000个会话。默认的缓存超时是5分钟,可以使用<link doc="ngx_http_ssl_module.xml" id="ssl_session_timeout"/>加大它。下面是一个针对4核系统的配置优化的例子,使用10M的共享会话缓存:
-
-<programlisting>
-<b>worker_processes  4</b>;
-
-http {
-    <b>ssl_session_cache    shared:SSL:10m</b>;
-    <b>ssl_session_timeout  10m</b>;
-
-    server {
-        listen              443;
-        server_name         www.example.com;
-        <b>keepalive_timeout   70</b>;
-
-        ssl                 on;
-        ssl_certificate     www.example.com.crt;
-        ssl_certificate_key www.example.com.key;
-        ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
-        ssl_ciphers         HIGH:!aNULL:!MD5;
-        ...
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="chains" name="SSL证书链">
-
-<para>
-有些浏览器不接受那些众所周知的证书认证机构签署的证书,而另外一些浏览器却接受它们。这是由于证书签发使用了一些中间认证机构,这些中间机构被众所周知的证书认证机构授权代为签发证书,但是它们自己却不被广泛认知,所以有些客户端不予识别。针对这种情况,证书认证机构提供一个证书链的包裹,用来声明众所周知的认证机构和自己的关系,需要将这个证书链包裹与服务器证书合并成一个文件。在这个文件里,服务器证书需要出现在认证方证书链的前面:
-
-<programlisting>
-$ cat www.example.com.crt bundle.crt > www.example.com.chained.crt
-</programlisting>
-
-这个文件需要使用<link doc="ngx_http_ssl_module.xml" id="ssl_certificate"/>指令来引用:
-
-<programlisting>
-server {
-    listen              443;
-    server_name         www.example.com;
-    ssl                 on;
-    ssl_certificate     www.example.com.chained.crt;
-    ssl_certificate_key www.example.com.key;
-    ...
-}
-</programlisting>
-
-如果服务器证书和认证方证书链合并时顺序弄错了,nginx就不能正常启动,而且会显示下面的错误信息:
-
-<programlisting>
-SSL_CTX_use_PrivateKey_file(" ... /www.example.com.key") failed
-   (SSL: error:0B080074:x509 certificate routines:
-    X509_check_private_key:key values mismatch)
-</programlisting>
-
-因为nginx首先需要用私钥去解密服务器证书,而遇到的却是认证方的证书。
-</para>
-
-<para>
-浏览器通常会将那些被受信的认证机构认证的中间认证机构保存下来,那么这些浏览器以后在遇到使用这些中间认证机构但不包含证书链的情况时,因为已经保存了这些中间认证机构的信息,所以不会报错。可以使用<command>openssl</command>命令行工具来确认服务器发送了完整的证书链:
-<programlisting>
-$ openssl s_client -connect www.godaddy.com:443
-...
-Certificate chain
- 0 s:/C=US/ST=Arizona/L=Scottsdale/1.3.6.1.4.1.311.60.2.1.3=US
-     /1.3.6.1.4.1.311.60.2.1.2=AZ/O=GoDaddy.com, Inc
-     /OU=MIS Department/<b>CN=www.GoDaddy.com</b>
-     /serialNumber=0796928-7/2.5.4.15=V1.0, Clause 5.(b)
-   i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc.
-     /OU=http://certificates.godaddy.com/repository
-     /CN=Go Daddy Secure Certification Authority
-     /serialNumber=07969287
- 1 s:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc.
-     /OU=http://certificates.godaddy.com/repository
-     /CN=Go Daddy Secure Certification Authority
-     /serialNumber=07969287
-   i:/C=US/O=The Go Daddy Group, Inc.
-     /OU=Go Daddy Class 2 Certification Authority
- 2 s:/C=US/O=The Go Daddy Group, Inc.
-     /OU=Go Daddy Class 2 Certification Authority
-   i:/L=ValiCert Validation Network/O=<b>ValiCert, Inc.</b>
-     /OU=ValiCert Class 2 Policy Validation Authority
-     /CN=http://www.valicert.com//emailAddress=info@valicert.com
-...
-</programlisting>
-
-在这个例子中,www.GoDaddy.com的服务器证书(#0)的受签者(“s”)是被签发机构(“i”)签名的,而这个签发机构又是证书(#1)的受签者,接着证书(#1)的签发机构又是证书(#2)的受签者,最后证书(#2)是被众所周知的签发机构ValiCert, Inc签发。ValiCert, Inc的证书内嵌在浏览器中,被浏览器自动识别(这段话神似英国诗《在Jack盖的房子里》里面的内容)。
-</para>
-
-<para>
-如果没有加入认证方证书链,就只会显示服务器证书(#0)。
-</para>
-
-</section>
-
-
-<section id="single_http_https_server" name="合并HTTP/HTTPS主机">
-
-<para>
-如果HTTP和HTTPS虚拟主机的功能是一致的,可以配置一个虚拟主机,既处理HTTP请求,又处理HTTPS请求。
-配置的方法是删除<literal>ssl on</literal>的指令,并在*:443端口添加参数<literal>ssl</literal>:
-<programlisting>
-server {
-    listen              80;
-    listen              443 ssl;
-    server_name         www.example.com;
-    ssl_certificate     www.example.com.crt;
-    ssl_certificate_key www.example.com.key;
-    ...
-}
-</programlisting>
-
-<note>
-在0.8.21版本以前,只有添加了<literal>default</literal>参数的监听端口才能添加<literal>ssl</literal>参数:
-<programlisting>
-listen  443  default ssl;
-</programlisting>
-</note>
-</para>
-
-</section>
-
-
-<section id="name_based_https_servers" name="基于名字的HTTPS主机">
-
-<para>
-如果在同一个IP上配置多个HTTPS主机,会出现一个很普遍的问题:
-
-<programlisting>
-server {
-    listen          443;
-    server_name     www.example.com;
-    ssl             on;
-    ssl_certificate www.example.com.crt;
-    ...
-}
-
-server {
-    listen          443;
-    server_name     www.example.org;
-    ssl             on;
-    ssl_certificate www.example.org.crt;
-    ...
-}
-</programlisting>
-
-使用上面的配置,不论浏览器请求哪个主机,都只会收到默认主机<literal>www.example.com</literal>的证书。这是由SSL协议本身的行为引起的——先建立SSL连接,再发送HTTP请求,所以nginx建立SSL连接时不知道所请求主机的名字,因此,它只会返回默认主机的证书。
-</para>
-
-<para>
-最古老的也是最稳定的解决方法就是每个HTTPS主机使用不同的IP地址:
-
-<programlisting>
-server {
-    listen          192.168.1.1:443;
-    server_name     www.example.com;
-    ssl             on;
-    ssl_certificate www.example.com.crt;
-    ...
-}
-
-server {
-    listen          192.168.1.2:443;
-    server_name     www.example.org;
-    ssl             on;
-    ssl_certificate www.example.org.crt;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="certificate_with_several_names"
-        name="带有多个主机名的SSL证书">
-
-<para>
-也有其他一些方法可以实现多个HTTPS主机共享一个IP地址,但都有不足。其中一种方法是使用在“SubjectAltName”字段中存放多个名字的证书,比如<literal>www.example.com</literal>和<literal>www.example.org</literal>。但是,“SubjectAltName”字段的长度有限制。
-</para>
-
-<para>
-另一种方式是使用主机名中含有通配符的证书,比如<literal>*.example.org</literal>。这个证书匹配<literal>www.example.org</literal>,但是不匹配<literal>example.org</literal>和<literal>www.sub.example.org</literal>。这两种方法可以结合在一起——使用在“SubjectAltName”字段中存放的多个名字的证书,这些名字既可以是确切的名字,也可以是通配符,比如<literal>example.org</literal>和<literal>*.example.org</literal>。
-</para>
-
-<para>
-最好将带有多个名字的证书和它的密钥文件配置在<i>http</i>配置块中,这样可以只保存一份内容拷贝,所有主机的配置都从中继承:
-
-<programlisting>
-ssl_certificate      common.crt;
-ssl_certificate_key  common.key;
-
-server {
-    listen          443;
-    server_name     www.example.com;
-    ssl             on;
-    ...
-}
-
-server {
-    listen          443;
-    server_name     www.example.org;
-    ssl             on;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="sni" name="主机名指示">
-
-<para>
-在一个IP上运行多个HTTPS主机的更通用的方案是<link url="http://en.wikipedia.org/wiki/Server_Name_Indication">TLS主机名指示扩展</link>(SNI,RFC6066),它允许浏览器和服务器进行SSL握手时,将请求的主机名传递给服务器,因此服务器可以知道使用哪一个证书来服务这个连接。但SNI只得到有限的浏览器的支持。下面列举支持SNI的浏览器最低版本和平台信息:
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-Opera 8.0;
-</listitem>
-
-<listitem>
-MSIE 7.0(仅在Windows Vista操作系统及后续操作系统);
-</listitem>
-
-<listitem>
-Firefox 2.0和使用Mozilla平台1.8.1版本的其他浏览器;
-</listitem>
-
-<listitem>
-Safari 3.2.1(Windows版需要最低Vista操作系统);
-</listitem>
-
-<listitem>
-Chrome(Windows版需要最低Vista操作系统)。
-</listitem>
-
-</list>
-<note>
-通过SNI只能传递域名,但是,当请求中包含可读的IP地址时,某些浏览器将服务器的IP地址作为服务器的名字进行了传送。这是一个错误,大家不应该依赖于这个。
-</note>
-</para>
-
-<para>
-为了在nginx中使用SNI,那么无论是在编译nginx时使用的OpenSSL类库,还是在运行nginx时使用的OpenSSL运行库,都必须支持SNI。从0.9.8f版本开始,OpenSSL通过<nobr>&ldquo;--enable-tlsext&rdquo;</nobr>配置选项加入SNI支持,从0.9.8j版本开始,此选项成为默认选项。当nginx被编译成支持SNI时,在使用“-V”选项运行时会显示如下信息:
-
-<programlisting>
-$ nginx -V
-...
-TLS SNI support enabled
-...
-</programlisting>
-
-但是,当开启SNI支持的nginx被动态链接到不支持SNI的OpenSSL库上时,nginx会显示如下警告:
-
-<programlisting>
-nginx was built with SNI support, however, now it is linked
-dynamically to an OpenSSL library which has no tlsext support,
-therefore SNI is not available
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="compatibility" name="兼容性">
-
-<para>
-<list type="bullet">
-
-<listitem>
-从0.8.21和0.7.62版本开始,使用“-V”选项运行nginx时,将显示SNI支持状态信息。
-</listitem>
-
-<listitem>
-从0.7.14版本开始,<link doc="ngx_http_core_module.xml" id="listen"/>指令支持<literal>ssl</literal>参数。
-</listitem>
-
-<listitem>
-从0.5.32版本开始,支持SNI。
-</listitem>
-
-<listitem>
-从0.5.6版本开始,支持SSL会话缓存,并可在工作进程间共享。
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-0.7.65、0.8.19及以后版本,默认SSL协议是SSLv3、TLSv1、TLSc1.1和TLSv1.2(如果OpenSSL库支持)。
-</listitem>
-
-<listitem>
-0.7.64、0.8.18及以前版本,默认SSL协议是SSLv2、SSLv3和TLSv1。
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-1.0.5及以后版本,默认SSL密码算法是<literal>HIGH:!aNULL:!MD5</literal>。
-</listitem>
-
-<listitem>
-0.7.65、0.8.20及以后版本,默认SSL密码算法是<literal>HIGH:!ADH:!MD5</literal>。
-</listitem>
-
-<listitem>
-0.8.19版本,默认SSL密码算法是<literal>ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM</literal>。
-</listitem>
-
-<listitem>
-0.7.64、0.8.18及以前版本,默认SSL密码算法是<literal>ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP</literal>。
-</listitem>
-
-</list>
-</para>
-
-
-</section>
-
-
-</article>
deleted file mode 100644
--- a/xml/cn/docs/http/converting_rewrite_rules.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="转换rewrite规则"
-         link="/cn/docs/http/converting_rewrite_rules.html"
-         rev="1"
-         lang="cn">
-
-
-<section name="重定向到主站">
-
-<para>
-共享站点的管理员,习惯于<i>只</i>在Apache下使用.htaccess文件配置<i>所有</i>信息,通常会将下面规则
-
-<programlisting>
-RewriteCond  %{HTTP_HOST}  example.org
-RewriteRule  (.*)          http://www.example.org$1
-</programlisting>
-
-翻译成这样:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  www.example.org  example.org;
-    if ($http_host = example.org) {
-        rewrite  (.*)  http://www.example.org$1;
-    }
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-这种做法是错的,复杂而且低效。正确的方式是为<literal>example.org</literal>定义一个单独的服务器:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org;
-    return       301 http://www.example.org$request_uri;
-}
-
-server {
-    listen       80;
-    server_name  www.example.org;
-    ...
-}
-</programlisting>
-
-<note>
-在0.9.1版本(含)以前,可以这样实现重定向:
-<programlisting>
-    rewrite      ^ http://www.example.org$request_uri?;
-</programlisting>
-</note>
-
-</para>
-
-</section>
-
-
-<section>
-
-<para>
-再举一个例子,处理一个和刚才相反的逻辑:既不是来自<literal>example.com</literal>,又不是来自<literal>www.example.com</literal>:
-
-<programlisting>
-RewriteCond  %{HTTP_HOST}  !example.com
-RewriteCond  %{HTTP_HOST}  !www.example.com
-RewriteRule  (.*)          http://www.example.com$1
-</programlisting>
-
-应该按下面这样分开定义<literal>example.com</literal>、<literal>www.example.com</literal>和其他站点:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.com www.example.com;
-    ...
-}
-
-server {
-    listen       80 default_server;
-    server_name  _;
-    return       301 http://example.com$request_uri;
-}
-</programlisting>
-
-<note>
-在0.9.1版本(含)以前,可以这样实现重定向:
-<programlisting>
-    rewrite      ^ http://example.com$request_uri?;
-</programlisting>
-</note>
-
-</para>
-
-</section>
-
-
-<section id="converting_mongrel_rules"
-        name="转化混合规则">
-
-<para>
-典型的混合规则如下:
-
-<programlisting>
-DocumentRoot /var/www/myapp.com/current/public
-
-RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
-RewriteCond %{SCRIPT_FILENAME} !maintenance.html
-RewriteRule ^.*$ %{DOCUMENT_ROOT}/system/maintenance.html [L]
-
-RewriteCond %{REQUEST_FILENAME} -f
-RewriteRule ^(.*)$ $1 [QSA,L]
-
-RewriteCond %{REQUEST_FILENAME}/index.html -f
-RewriteRule ^(.*)$ $1/index.html [QSA,L]
-
-RewriteCond %{REQUEST_FILENAME}.html -f
-RewriteRule ^(.*)$ $1/index.html [QSA,L]
-
-RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]
-</programlisting>
-
-转换成nginx配置应该是这样:
-
-<programlisting>
-location / {
-    root       /var/www/myapp.com/current/public;
-
-    try_files  /system/maintenance.html
-               $uri  $uri/index.html $uri.html
-               @mongrel;
-}
-
-location @mongrel {
-    proxy_pass  http://mongrel;
-}
-</programlisting>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_access_module.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_access_module模块"
-        link="/cn/docs/http/ngx_http_access_module.html"
-        lang="cn"
-        translator="WenMing"
-        rev="1">
-
-<section id="summary">
-
-<para>
-模块 <literal>ngx_http_access_module</literal> 允许限制某些IP地址的客户端访问。
-</para>
-
-<para>
-也可以通过
-<link doc="ngx_http_auth_basic_module.xml">密码</link>来限制访问。
-使用
- <link doc="ngx_http_core_module.xml" id="satisfy"/> 指令就能同时通过IP地址和密码来限制访问。
-</para>
-
-</section>
-
-
-<section id="example" name="配置范例">
-
-<para>
-<example>
-location / {
-    deny  192.168.1.1;
-    allow 192.168.1.0/24;
-    allow 10.1.1.0/16;
-    allow 2001:0db8::/32;
-    deny  all;
-}
-</example>
-</para>
-
-<para>
-规则按照顺序依次检测,直到匹配到第一条规则。
-在这个例子里,IPv4的网络中只有
-<literal>10.1.1.0/16</literal> 和 <literal>192.168.1.0/24</literal>允许访问,但
-<literal>192.168.1.1</literal>除外,
-对于IPv6的网络,只有<literal>2001:0db8::/32</literal>允许访问。
-在规则很多的情况下,使用
-<link doc="ngx_http_geo_module.xml">ngx_http_geo_module</link>
-模块变量更合适。
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="allow">
-<syntax>
-    <value>address</value> |
-    <value>CIDR</value> |
-    <literal>all</literal></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>limit_except</context>
-
-<para>
-允许指定的网络地址访问。
-</para>
-
-</directive>
-
-
-<directive name="deny">
-<syntax>
-    <value>address</value> |
-    <value>CIDR</value> |
-    <literal>all</literal></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>limit_except</context>
-
-<para>
-拒绝指定的网络地址访问。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_addition_module.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_addition_module模块"
-        link="/cn/docs/http/ngx_http_addition_module.html"
-        lang="cn"
-        translator="Weibin Yao"
-        rev="1">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_addition_module</literal> 是一个过滤模块,它可以在回复正文前后加上内容。
-这个模块默认不会编译进去,若要开启需加上编译选项:<literal>--with-http_addition_module</literal>。
-</para>
-
-</section>
-
-
-<section id="example" name="配置示例">
-
-<para>
-<example>
-location / {
-    add_before_body /before_action;
-    add_after_body  /after_action;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="add_before_body">
-<syntax><value>uri</value></syntax>
-<default/>
-<context>location</context>
-
-<para>
-在回复正文之前加入一段文字,nginx会发起一个子请求去获取这些文字。
-</para>
-
-</directive>
-
-
-<directive name="add_after_body">
-<syntax><value>uri</value></syntax>
-<default/>
-<context>location</context>
-
-<para>
-在回复正文之后加入一段文字,nginx会发起一个子请求去获取这些文字。
-</para>
-
-</directive>
-
-
-<directive name="addition_types">
-<syntax><value>mime-type</value> ...</syntax>
-<default>text/html</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>0.7.9</appeared-in>
-
-<para>
-指定生效的回复MIME类型,默认始终包含“<literal>text/html</literal>”。
-如果设置类型为“<literal>*</literal>”,就会匹配任何类型的回复(0.8.29)。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_auth_basic_module.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_auth_basic_module模块"
-        link="/cn/docs/http/ngx_http_auth_basic_module.html"
-        lang="cn"
-        translator="WenMing"
-        rev="1">
-
-<section id="summary">
-
-<para>
-模块<literal>ngx_http_auth_basic_module</literal> 允许使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问。
-</para>
-
-<para>
-也可以通过
-<link doc="ngx_http_auth_basic_module.xml">地址</link>来限制访问。
-使用<link doc="ngx_http_core_module.xml" id="satisfy"/> 指令就能同时通过地址和密码来限制访问。
-</para>
-
-</section>
-
-
-<section id="example" name="配置范例">
-
-<para>
-<example>
-location / {
-    auth_basic           "closed site";
-    auth_basic_user_file conf/htpasswd;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="auth_basic">
-<syntax><value>string</value> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>limit_except</context>
-
-<para>
-开启使用“HTTP基本认证”协议的用户名密码验证。
-指定的参数被用作 <value>域</value>。
-参数<literal>off</literal>可以取消继承自上一个配置等级
-<literal>auth_basic</literal> 指令的影响。
-</para>
-
-</directive>
-
-
-<directive name="auth_basic_user_file">
-<syntax><value>file</value></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>limit_except</context>
-
-<para>
-指定保存用户名和密码的文件,格式如下:
-<example>
-# comment
-name1:password1
-name2:password2:comment
-name3:password3
-</example>
-</para>
-
-<para>
-密码应该使用<c-func>crypt</c-func>函数加密。
-可以用Apache发行包中的<command>htpasswd</command>命令来创建此类文件。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_autoindex_module.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_autoindex_module模块"
-        link="/cn/docs/http/ngx_http_autoindex_module.html"
-        lang="cn"
-        translator="Weibin Yao"
-        rev="1">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_autoindex_module</literal> 模块可以列出目录中的文件。
-一般当<link doc="ngx_http_index_module.xml">ngx_http_index_module</link>模块找不到默认主页的时候,会把请求转给 <literal>ngx_http_autoindex_module</literal>模块去处理。
-</para>
-
-</section>
-
-
-<section id="example" name="配置示例">
-
-<para>
-<example>
-location / {
-    autoindex on;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="autoindex">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启或者关闭列出目录中文件的功能。
-</para>
-
-</directive>
-
-
-<directive name="autoindex_exact_size">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置目录中列出的文件是显示精确大小,还是对KB,MB,GB进行四舍五入。
-</para>
-
-</directive>
-
-
-<directive name="autoindex_localtime">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置目录中列出文件的时间是本地时间还是UTC时间。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_browser_module.xml
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_browser_module模块"
-        link="/cn/docs/http/ngx_http_browser_module.html"
-        lang="cn"
-        translator="litianqing"
-        rev="1">
-
-<section id="summary">
-
-<para>
-模块<literal>ngx_http_browser_module</literal>创建变量,它们的值取决于
-请求头中<header>User-Agent</header>的值:
-<list type="tag">
-
-<tag-name><var>$modern_browser</var></tag-name>
-<tag-desc>
-如果浏览器被为识别为新式浏览器,该值等于<link id="modern_browser_value"/>指令设置的值;
-</tag-desc>
-
-<tag-name><var>$ancient_browser</var></tag-name>
-<tag-desc>
-如果浏览器被识别为旧式浏览器,该值等于<link id="ancient_browser_value"/>指令设置的值;
-</tag-desc>
-
-<tag-name><var>$msie</var></tag-name>
-<tag-desc>
-如果浏览器被识别为任何版本的MSIE,该值等于“1”。
-</tag-desc>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="example" name="配置示例">
-
-<para>
-选择一个默认页:
-<example>
-modern_browser_value "modern.";
-
-modern_browser msie      5.5;
-modern_browser gecko     1.0.0;
-modern_browser opera     9.0;
-modern_browser safari    413;
-modern_browser konqueror 3.0;
-
-index index.${modern_browser}html index.html;
-</example>
-</para>
-
-<para>
-旧式浏览器的重定向:
-<example>
-modern_browser msie      5.0;
-modern_browser gecko     0.9.1;
-modern_browser opera     8.0;
-modern_browser safari    413;
-modern_browser konqueror 3.0;
-
-modern_browser unlisted;
-
-ancient_browser Links Lynx netscape4;
-
-if ($ancient_browser) {
-    rewrite ^ /ancient.html;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="ancient_browser">
-<syntax><value>string</value> ...</syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-如果任一指定的子串在请求头的<header>User-Agent</header>域中被发现,浏览器将被认定为旧式浏览器。
-特殊字符串“<literal>netscape4</literal>” 相当于正则表达式“<literal>^Mozilla/[1-4]</literal>”。
-</para>
-
-</directive>
-
-
-<directive name="ancient_browser_value">
-<syntax><value>string</value></syntax>
-<default>1</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设定变量<var>$ancient_browser</var>的值。
-</para>
-
-</directive>
-
-
-<directive name="modern_browser">
-<syntax><value>browser</value> <value>version</value></syntax>
-<syntax><literal>unlisted</literal></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-指定一个版本,此版本及后续版本的浏览器都被认定为新式浏览器。
-浏览器可以是下列之一: <literal>msie</literal>,
-<literal>gecko</literal> (基于Mozilla),
-<literal>opera</literal>,<literal>safari</literal>,
-或者 <literal>konqueror</literal>。
-</para>
-
-<para>
-版本可被指定为以下形式:X, X.X, X.X.X, 或 X.X.X.X。
-每一形式的最大值分别是4000, 4000.99, 4000.99.99, 和 4000.99.99.99。
-</para>
-
-<para>
-浏览器既没有在<literal>modern_browser</literal>中列出,又没有在<link id="ancient_browser"/>中
-列出时,如果配置了特殊值<literal>unlisted</literal>,那么浏览器将被认定为新式浏览器,否则
-认定为旧式浏览器。
-如果请求头中没有<header>User-Agent</header>域,浏览器以没有列出对待。
-</para>
-
-</directive>
-
-
-<directive name="modern_browser_value">
-<syntax><value>string</value></syntax>
-<default>1</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设定变量<var>$modern_browser</var>的值。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_core_module.xml
+++ /dev/null
@@ -1,2543 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_core_module 模块"
-        link="/cn/docs/http/ngx_http_core_module.html"
-        lang="cn"
-        translator="cfsego"
-        rev="13">
-
-<section id="directives" name="指令">
-
-<directive name="aio">
-<syntax>
-    <literal>on</literal> |
-    <literal>off</literal> |
-    <literal>sendfile</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>0.8.11</appeared-in>
-
-<para>
-在FreeBSD和Linux操作系统上启用或者禁用异步文件I/O(AIO)。
-</para>
-
-<para>
-从FreeBSD 4.3版本开始,可以使用AIO。AIO既可以静态链接到内核中:
-<example>
-options VFS_AIO
-</example>
-又可以作为内核模块动态加载:
-<example>
-kldload aio
-</example>
-</para>
-
-<para>
-在FreeBSD第5版和第6版,静态启动AIO,或者在系统启动时动态加载AIO,都会触发网络子系统使用一把大锁,进而对整个系统的性能造成负面影响。
-这个限制在2009年发布的FreeBSD 6.4稳定版和FreeBSD 7中被消除。
-虽然如此,仍有方法在5.3及以上版本的FreeBSD中开启AIO而不触发网络子系统的大锁,那就是在内核启动以后加载AIO模块。
-使用这种时,<path>/var/log/messages</path>中会出现下面信息,
-<example>
-WARNING: Network stack Giant-free, but aio requires Giant.
-Consider adding 'options NET_WITH_GIANT' or setting debug.mpsafenet=0
-</example>
-但可以安全的忽略它。
-<note>
-使用AIO大锁的是FreeBSD套接字上的<c-func>aio_read</c-func>和<c-func>aio_write</c-func>异步操作。但是nginx仅仅在磁盘I/O使用AIO,所以不会出现问题。
-</note>
-</para>
-
-<para>
-为了让AIO工作,需要关闭<link id="sendfile"/>:
-<example>
-location /video/ {
-    sendfile       off;
-    aio            on;
-    output_buffers 1 64k;
-}
-</example>
-</para>
-
-<para>
-不过,从FreeBSD 5.2.1版和nginx 0.8.12版开始,AIO也可以为<c-func>sendfile</c-func>预读数据:
-<example>
-location /video/ {
-    sendfile       on;
-    tcp_nopush     on;
-    aio            sendfile;
-}
-</example>
-
-这个配置使nginx在调用<c-func>sendfile</c-func>时带<c-def>SF_NODISKIO</c-def>参数,
-那么<c-func>sendfile</c-func>在数据没有读入内存的时候,就不会阻塞在磁盘I/O上,而是直接返回报告;接着nginx就读这个一字节报告,然后初始化异步数据。
-FreeBSD内核接着会读取文件的开始128K字节到内存,而后续的读取只会以16K的单位来进行。
-这个性质可以使用<link id="read_ahead"/>指令来调节。
-</para>
-
-<para>
-从Linux内核2.6.22版开始,也可以使用AIO。但必须同时开启<link id="directio"/>,否则读取将是阻塞的:
-<example>
-location /video/ {
-    aio            on;
-    directio       512;
-    output_buffers 1 128k;
-}
-</example>
-</para>
-
-<para>
-在Linux上,<link id="directio"/>只在读取的块的边界对齐512字节(在XFS上是4K字节)时才有用。在读取文件尾部时,
-如果没有对齐,AIO读取还是阻塞的。同样的情况(如果数据的开始或者结尾未对齐时,读取也是阻塞的)
-也发生在含有<header>byte range</header>头的请求中,或者发生在不是从头开始的FLV请求中。
-没有必要手动关闭<link id="sendfile"/>,因为如果使用了<link id="directio"/>,它就会自动关闭。
-</para>
-
-</directive>
-
-
-<directive name="alias">
-<syntax><value>path</value></syntax>
-<default/>
-<context>location</context>
-
-<para>
-定义指定路径的替换路径。比如下面配置
-<example>
-location /i/ {
-    alias /data/w3/images/;
-}
-</example>
-“<literal>/i/top.gif</literal>”将由<path>/data/w3/images/top.gif</path>文件来响应。
-</para>
-
-<para>
-<value>path</value>的值可以包含变量,但不能使用<var>$document_root</var>和<var>$realpath_root</var>这两个变量。
-</para>
-
-<para>
-如果在定义了正则表达式的路径中使用了<literal>alias</literal>,那么正则表达式中应该含有匹配组,
-并且<literal>alias</literal>应该引用这些匹配组(0.7.40版)来组成一个完整的文件路径,比如:
-<example>
-location ~ ^/users/(.+\.(?:gif|jpe?g|png))$ {
-    alias /data/w3/images/$1;
-}
-</example>
-</para>
-
-<para>
-如果路径对应指令<value>path</value>值的最后一部分:
-<example>
-location /images/ {
-    alias /data/w3/images/;
-}
-</example>
-最好换用<link id="root"/>指令:
-<example>
-location /images/ {
-    root /data/w3;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="chunked_transfer_encoding">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-允许关闭HTTP/1.1中的分块传输编码。在客户端软件不支持分块传输编码的时候,这条指令才有用。
-</para>
-
-</directive>
-
-
-<directive name="client_body_buffer_size">
-
-<syntax><value>size</value></syntax>
-<default>8k|16k</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置读取客户端请求正文的缓冲容量。如果请求正文大于缓冲容量,整个正文或者正文的一部分将写入<link id="client_body_temp_path">临时文件</link>。
-缓冲大小默认等于两块内存页的大小,在x86平台、其他32位平台和x86-64平台,这个值是8K。在其他64位平台,这个值一般是16K。
-</para>
-
-</directive>
-
-
-<directive name="client_body_in_file_only">
-<syntax>
-    <literal>on</literal> |
-    <literal>clean</literal> |
-    <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-决定nginx是否将客户端请求正文整个写入文件。这条指令在调试时,或者使用<var>$request_body_file</var>变量时,
-或者使用<link doc="ngx_http_perl_module.xml">ngx_http_perl_module</link>模块的
-<link doc="ngx_http_perl_module.xml" id="methods">$r->request_body_file</link>方法时都可以使用。
-</para>
-
-<para>
-当指令值设置为<literal>on</literal>时,请求处理结束后不会删除临时文件。
-</para>
-
-<para>
-当指令值设置为<literal>clean</literal>时,请求处理结束后会删除临时文件。
-</para>
-
-</directive>
-
-
-<directive name="client_body_in_single_buffer">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-决定nginx将整个客户端请求正文保存在一块缓冲中。
-这条指令推荐在使用<var>$request_body</var>变量时使用,可以节省引入的拷贝操作。
-</para>
-
-</directive>
-
-
-<directive name="client_body_temp_path">
-<syntax>
-    <value>path</value>
-    [<value>level1</value>
-    [<value>level2</value>
-    [<value>level3</value>]]]</syntax>
-<default>client_body_temp</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义存储客户端请求正文的临时文件的目录。
-支持在指定目录下多达3层的子目录结构。比如下面配置
-<example>
-client_body_temp_path /spool/nginx/client_temp 1 2;
-</example>
-存储临时文件的路径是
-<example>
-/spool/nginx/client_temp/7/45/00000123457
-</example>
-</para>
-
-</directive>
-
-
-<directive name="client_body_timeout">
-<syntax><value>time</value></syntax>
-<default>60s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义读取客户端请求正文的超时。超时是指相邻两次读操作之间的最大时间间隔,而不是整个请求正文完成传输的最大时间。
-如果客户端在这段时间内没有传输任何数据,nginx将返回<http-status code="408" text="Request Time-out"/>错误到客户端。
-</para>
-
-</directive>
-
-
-<directive name="client_header_buffer_size">
-<syntax><value>size</value></syntax>
-<default>1k</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-设置读取客户端请求头部的缓冲容量。
-对于大多数请求,1K的缓冲足矣。
-但如果请求中含有的cookie很长,或者请求来自WAP的客户端,可能请求头不能放在1K的缓冲中。
-如果从请求行,或者某个请求头开始不能完整的放在这块空间中,那么nginx将按照
-<link id="large_client_header_buffers"/>指令的配置分配更多更大的缓冲来存放。
-directive.
-</para>
-
-</directive>
-
-
-<directive name="client_header_timeout">
-<syntax><value>time</value></syntax>
-<default>60s</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-定义读取客户端请求头部的超时。如果客户端在这段时间内没有传送完整的头部到nginx,
-nginx将返回错误<http-status code="408" text="Request Time-out"/>到客户端。
-</para>
-
-</directive>
-
-
-<directive name="client_max_body_size">
-<syntax><value>size</value></syntax>
-<default>1m</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置允许客户端请求正文的最大长度。请求的长度由<header>Content-Length</header>请求头指定。
-如果请求的长度超过设定值,nginx将返回错误<http-status code="413" text="Request Entity Too Large"/>到客户端。
-请注意<!--link doc="/web/upload.xml"-->浏览器不能正确显示这个错误<!--/link-->。
-将<value>size</value>设置成0可以使nginx不检查客户端请求正文的长度。
-</para>
-
-</directive>
-
-
-<directive name="connection_pool_size">
-<syntax><value>size</value></syntax>
-<default>256</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-允许微调为每个连接分配的内存。这条指令对nginx的性能影响非常小,一般不应该使用。
-</para>
-
-</directive>
-
-
-<directive name="default_type">
-<syntax><value>mime-type</value></syntax>
-<default>text/plain</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义响应的默认MIME类型。设置文件扩展名和响应的MIME类型的映射表则使用<link id="types"/>指令。
-</para>
-
-</directive>
-
-
-<directive name="directio">
-<syntax><value>size</value> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>0.7.7</appeared-in>
-
-<para>
-当读入长度大于等于指定<value>size</value>的文件时,开启DirectIO功能。
-具体的做法是,
-在FreeBSD或Linux系统开启使用<c-def>O_DIRECT</c-def>标志,
-在Mac OS X系统开启使用<c-def>F_NOCACHE</c-def>标志,
-在Solaris系统开启使用<c-func>directio</c-func>功能。
-这条指令自动关闭<link id="sendfile"/>(0.7.15版)。
-它在处理大文件时
-<example>
-directio 4m;
-</example>
-或者在Linux系统使用<link id="aio"/>时比较有用。
-</para>
-
-</directive>
-
-
-<directive name="directio_alignment">
-<syntax><value>size</value></syntax>
-<default>512</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>0.8.11</appeared-in>
-
-<para>
-为<link id="directio"/>设置文件偏移量对齐。大多数情况下,按512字节对齐足矣,
-但在Linux系统下使用XFS,需要将值扩大到4K。
-</para>
-
-</directive>
-
-
-<directive name="disable_symlinks">
-<syntax><literal>off</literal></syntax>
-<syntax>
-    <literal>on</literal> |
-    <literal>if_not_owner</literal>
-    [<literal>from</literal>=<value>part</value>]</syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.1.15</appeared-in>
-
-<para>
-决定nginx打开文件时如何处理符号链接:
-<list type="tag">
-
-<tag-name><literal>off</literal></tag-name>
-<tag-desc>
-默认行为,允许路径中出现符号链接,不做检查。
-</tag-desc>
-
-<tag-name><literal>on</literal></tag-name>
-<tag-desc>
-如果文件路径中任何组成部分中含有符号链接,拒绝访问该文件。
-</tag-desc>
-
-<tag-name><literal>if_not_owner</literal></tag-name>
-<tag-desc>
-如果文件路径中任何组成部分中含有符号链接,且符号链接和链接目标的所有者不同,拒绝访问该文件。
-</tag-desc>
-
-<tag-name><literal>from</literal>=<value>part</value></tag-name>
-<tag-desc>
-当nginx进行符号链接检查时(参数<literal>on</literal>和参数<literal>if_not_owner</literal>),路径中所有部分默认都会被检查。
-而使用<literal>from</literal>=<value>part</value>参数可以避免对路径开始部分进行符号链接检查,而只检查后面的部分路径。
-如果某路径不是以指定值开始,整个路径将被检查,就如同没有指定这个参数一样。
-如果某路径与指定值完全匹配,将不做检查。
-这个参数的值可以包含变量。
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-比如:
-<example>
-disable_symlinks on from=$document_root;
-</example>
-</para>
-
-<para>
-这条指令只在有<c-func>openat</c-func>和<c-func>fstatat</c-func>接口的系统上可用。
-当然,现在的FreeBSD、Linux和Solaris都支持这些接口。
-</para>
-
-<para>
-参数<literal>on</literal>和<literal>if_not_owner</literal>会带来处理开销。
-<note>
-只在那些不支持打开目录查找文件的系统中,使用这些参数需要工作进程有这些被检查目录的读权限。
-</note>
-</para>
-
-<para>
-<note>
-<link doc="ngx_http_autoindex_module.xml">ngx_http_autoindex_module</link>模块,
-<link doc="ngx_http_random_index_module.xml">ngx_http_random_index_module</link>模块
-和<link doc="ngx_http_dav_module.xml">ngx_http_dav_module</link>模块目前忽略这条指令。
-</note>
-</para>
-
-</directive>
-
-
-<directive name="error_page">
-<syntax>
-    <value>code</value> ...
-    [<literal>=</literal>[<value>response</value>]]
-    <value>uri</value></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if in location</context>
-
-<para>
-为指令错误定义显示的URI。当前配置级别没有<literal>error_page</literal>指令时,将从上层配置继承。
-<literal>uri</literal>可以包含变量。
-</para>
-
-<para>
-比如:
-<example>
-error_page 404             /404.html;
-error_page 500 502 503 504 /50x.html;
-</example>
-</para>
-
-<para>
-而且,可以使用“<literal>=</literal><value>response</value>语法改变响应状态码。比如:
-<example>
-error_page 404 =200 /empty.gif;
-</example>
-</para>
-
-<para>
-如果URI将被发送到一个被代理的服务器处理,或者发送到一个FastCGI服务器处理,
-这些后端服务器又返回了不同的响应状态码(比如200、302、401或404),那么这些返回的状态码也可以由本指令处理:
-<example>
-error_page 404 = /404.php;
-</example>
-</para>
-
-<para>
-当然,也可以使用本指令对错误处理进行重定向:
-<example>
-error_page 403      http://example.com/forbidden.html;
-error_page 404 =301 http://example.com/notfound.html;
-</example>
-对于例子中的第一行,nginx将向客户端发送302响应状态码。这种用法能使用的状态码只有301、302、303和307。
-</para>
-
-<para>
-如果内部跳转时无需改变URI,可以将错误处理转到一个命名路径:
-<example>
-location / {
-    error_page 404 = @fallback;
-}
-
-location @fallback {
-    proxy_pass http://backend;
-}
-</example>
-</para>
-
-<para>
-<note>
-如果处理<literal>uri</literal>产生了错误,那么nginx将最后一次出错的HTTP响应状态码返回给客户端。
-</note>
-</para>
-
-</directive>
-
-
-<directive name="etag">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.3.3</appeared-in>
-
-<para>
-开启或关闭为静态文件自动计算<header>ETag</header>响应头。
-</para>
-
-</directive>
-
-
-<directive name="http">
-<syntax block="yes"/>
-<default/>
-<context>main</context>
-<para>
-为HTTP服务器提供配置上下文。
-</para>
-</directive>
-
-
-<directive name="if_modified_since">
-<syntax>
-    <literal>off</literal> |
-    <literal>exact</literal> |
-    <literal>before</literal></syntax>
-<default>exact</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>0.7.24</appeared-in>
-
-<para>
-指定响应的修改时间和<header>If-Modified-Since</header>请求头的比较方法:
-
-<list type="tag">
-
-<tag-name><literal>off</literal></tag-name>
-<tag-desc>
-忽略<header>If-Modified-Since</header>请求头(0.7.34);
-</tag-desc>
-
-<tag-name><literal>exact</literal></tag-name>
-<tag-desc>
-精确匹配;
-</tag-desc>
-
-<tag-name><literal>before</literal></tag-name>
-<tag-desc>
-响应的修改时间小于等于<header>If-Modified-Since</header>请求头指定的时间。
-</tag-desc>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="ignore_invalid_headers">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-控制是否忽略非法的请求头字段名。
-合法的名字是由英文字母、数字和连字符组成,当然也可以包含下划线(由<link id="underscores_in_headers"/>指令控制)。
-</para>
-
-<para>
-本指令可以在默认虚拟主机的<link id="server"/>配置层级中定义一次,那么这个值在监听在相同地址和端口的所有虚拟主机上都生效。
-</para>
-
-</directive>
-
-
-<directive name="internal">
-<syntax/>
-<default/>
-<context>location</context>
-
-<para>
-指定一个路径是否只能用于内部访问。如果是外部访问,客户端将收到<http-status code="404" text="Not Found"/>错误。
-下列请求是内部请求:
-
-<list type="bullet">
-
-<listitem>
-由<link id="error_page"/>指令、<link doc="ngx_http_index_module.xml" id="index"/>指令、
-<link doc="ngx_http_random_index_module.xml" id="random_index"/>指令
-和<link id="try_files"/>指令引起的重定向请求;
-</listitem>
-
-<listitem>
-由后端服务器返回的<header>X-Accel-Redirect</header>响应头引起的重定向请求;
-</listitem>
-
-<listitem>
-由<link doc="ngx_http_ssi_module.xml">ngx_http_ssi_module</link>模块
-和<link doc="ngx_http_addition_module.xml">ngx_http_addition_module</link>模块
-的“<command>include virtual</command>”指令产生的子请求;
-</listitem>
-
-<listitem>
-用<link doc="ngx_http_rewrite_module.xml" id="rewrite"/>指令对请求进行修改。
-</listitem>
-
-</list>
-</para>
-
-<para>
-举例:
-<example>
-error_page 404 /404.html;
-
-location /404.html {
-    internal;
-}
-</example>
-<note>
-nginx限制每个请求只能最多进行10次内部重定向,以防配置错误引起请求处理出现问题。
-如果内部重定向次数已达到10次,nginx将返回<http-status code="500" text="Internal Server Error"/>错误。
-同时,错误日志中将有“rewrite or internal redirection cycle”的信息。
-</note>
-</para>
-
-</directive>
-
-
-<directive name="keepalive_disable">
-<syntax><literal>none</literal> | <value>browser</value> ...</syntax>
-<default>msie6</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-针对行为异常的浏览器关闭长连接功能。
-<value>browser</value>参数指定那些浏览器会受到影响。
-值为<literal>msie6</literal>表示在遇到POST请求时,关闭与老版MSIE浏览器建立长连接。
-值为<literal>safari</literal>表示在遇到Mac OS X和类Mac OS X操作系统下的Safari浏览器和类Safari浏览器时,不与浏览器建立长连接。
-值为<literal>none</literal>表示为所有浏览器开启长连接功能。
-<note>
-在nginx 1.1.18版本及以前,<literal>safari</literal>将匹配所有操作系统上的Safari和类Safari浏览器,并默认不与这些浏览器建立长连接。
-</note>
-</para>
-
-</directive>
-
-
-<directive name="keepalive_requests">
-<syntax><value>number</value></syntax>
-<default>100</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>0.8.0</appeared-in>
-
-<para>
-设置通过一个长连接可以处理的最大请求数。
-请求数超过此值,长连接将关闭。
-</para>
-
-</directive>
-
-
-<directive name="keepalive_timeout">
-<syntax>
-    <value>timeout</value>
-    [<value>header_timeout</value>]</syntax>
-<default>75s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-第一个参数设置客户端的长连接在服务器端保持的最长时间(在此时间客户端未发起新请求,则长连接关闭)。
-第二个参数为可选项,设置<header>Keep-Alive: timeout=<value>time</value></header>响应头的值。
-可以为这两个参数设置不同的值。
-</para>
-
-<para>
-<header>Keep-Alive: timeout=<value>time</value></header>响应头可以被Mozilla和Konqueror浏览器识别和处理。
-MSIE浏览器在大约60秒后会关闭长连接。
-</para>
-
-</directive>
-
-
-<directive name="large_client_header_buffers">
-<syntax><value>number</value> <value>size</value></syntax>
-<default>4 8k</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-设置读取客户端请求超大请求的缓冲最大<value>number(数量)</value>和每块缓冲的<value>size(容量)</value>。
-HTTP请求行的长度不能超过一块缓冲的容量,否则nginx返回错误<http-status code="414" text="Request-URI Too Large"/>到客户端。
-每个请求头的长度也不能超过一块缓冲的容量,否则nginx返回错误<http-status code="400" text="Bad Request"/>到客户端。
-缓冲仅在必需是才分配,默认每块的容量是8K字节。
-即使nginx处理完请求后与客户端保持入长连接,nginx也会释放这些缓冲。
-</para>
-
-</directive>
-
-
-<directive name="limit_except">
-<syntax block="yes"><value>method</value> ...</syntax>
-<default/>
-<context>location</context>
-
-<para>
-允许按请求的HTTP方法限制对某路径的请求。<value>method</value>用于指定不由这些限制条件进行过滤的HTTP方法,可选值有
-<literal>GET</literal>、
-<literal>HEAD</literal>、
-<literal>POST</literal>、
-<literal>PUT</literal>、
-<literal>DELETE</literal>、
-<literal>MKCOL</literal>、
-<literal>COPY</literal>、
-<literal>MOVE</literal>、
-<literal>OPTIONS</literal>、
-<literal>PROPFIND</literal>、
-<literal>PROPPATCH</literal>、
-<literal>LOCK</literal>、
-<literal>UNLOCK</literal>
-或者
-<literal>PATCH</literal>。
-指定<value>method</value>为<literal>GET</literal>方法的同时,nginx会自动添加<literal>HEAD</literal>方法。
-那么其他HTTP方法的请求就会由指令引导的配置块中的<link doc="ngx_http_access_module.xml">ngx_http_access_module</link>
-模块和<link doc="ngx_http_auth_basic_module.xml">ngx_http_auth_basic_module</link>模块的指令来限制访问。如:
-<example>
-limit_except GET {
-    allow 192.168.1.0/32;
-    deny  all;
-}
-</example>
-请留意上面的例子将对<emphasis>除</emphasis>GET和HEAD方法以外的所有HTTP方法的请求进行访问限制。
-</para>
-
-</directive>
-
-
-<directive name="limit_rate">
-<syntax><value>rate</value></syntax>
-<default>0</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if in location</context>
-
-<para>
-限制向客户端传送响应的速率限制。参数<value>rate</value>的单位是字节/秒,设置为0将关闭限速。
-<!--
-速率越小,限速越精确。
--->
-nginx按连接限速,所以如果某个客户端同时开启了两个连接,那么客户端的整体速率是这条指令设置值的2倍。
-</para>
-
-<para>
-也可以利用<var>$limit_rate</var>变量设置流量限制。如果想在特定条件下限制响应传输速率,可以使用这个功能:
-<example>
-server {
-
-    if ($slow) {
-        set $limit_rate 4k;
-    }
-
-    ...
-}
-</example>
-</para>
-
-<para>
-此外,也可以通过<header>X-Accel-Limit-Rate</header>响应头来完成速率限制。
-这种机制可以用<link doc="ngx_http_proxy_module.xml" id="proxy_ignore_headers"/>指令和
-<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_ignore_headers"/>指令关闭。
-</para>
-
-</directive>
-
-
-<directive name="limit_rate_after">
-<syntax><value>size</value></syntax>
-<default>0</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if in location</context>
-<appeared-in>0.8.0</appeared-in>
-
-<para>
-设置不限速传输的响应大小。当传输量大于此值时,超出部分将限速传送。
-</para>
-
-<para>
-比如:
-<example>
-location /flv/ {
-    flv;
-    limit_rate_after 500k;
-    limit_rate       50k;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="lingering_close">
-<syntax>
-    <literal>off</literal> |
-    <literal>on</literal> |
-    <literal>always</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.1.0</appeared-in>
-<appeared-in>1.0.6</appeared-in>
-
-<para>
-控制nginx如何关闭客户端连接。
-</para>
-
-<para>
-默认值“<literal>on</literal>”指示nginx在完成关闭连接前<link id="lingering_timeout">等待</link>和
-<link id="lingering_time">处理</link>客户端发来的额外数据。但只有在预测客户端可能发送更多数据的情况才会做此处理。
-</para>
-
-<para>
-“<literal>always</literal>”指示nginx无条件等待和处理客户端的额外数据。
-</para>
-
-<para>
-“<literal>off</literal>”指示nginx立即关闭连接,而绝不等待客户端传送额外数据。
-这样做破坏了协议,所以正常条件下不应使用。
-</para>
-
-</directive>
-
-
-<directive name="lingering_time">
-<syntax><value>time</value></syntax>
-<default>30s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-<link id="lingering_close"/>生效时,这条指令定义nginx处理(读取但忽略)客户端额外数据的最长时间。
-超过这段时间后,nginx将关闭连接,不论是否还有更多数据待处理。
-</para>
-
-</directive>
-
-
-<directive name="lingering_timeout">
-<syntax><value>time</value></syntax>
-<default>5s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-<link id="lingering_close"/>生效时,这条指令定义nginx等待客户端更多数据到来的最长时间。
-如果在这段时间内,nginx没有接收到数据,nginx将关闭连接。否则,nginx将接收数据,忽略它,然后再等待更多数据。
-这个“等待——接收——忽略”的循环一直重复,但总时间不会超过<link id="lingering_time"/>指令定义的时间。
-</para>
-
-</directive>
-
-
-<directive name="listen">
-<syntax>
-    <value>address</value>[:<value>port</value>]
-    [<literal>default_server</literal>]
-    [<literal>setfib</literal>=<value>number</value>]
-    [<literal>backlog</literal>=<value>number</value>]
-    [<literal>rcvbuf</literal>=<value>size</value>]
-    [<literal>sndbuf</literal>=<value>size</value>]
-    [<literal>accept_filter</literal>=<value>filter</value>]
-    [<literal>deferred</literal>]
-    [<literal>bind</literal>]
-    [<literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal>]
-    [<literal>ssl</literal>]
-    [<literal>so_keepalive</literal>=<literal>on</literal>|<literal>off</literal>|[<value>keepidle</value>]:[<value>keepintvl</value>]:[<value>keepcnt</value>]]</syntax>
-<syntax>
-    <value>port</value>
-    [<literal>default_server</literal>]
-    [<literal>setfib</literal>=<value>number</value>]
-    [<literal>backlog</literal>=<value>number</value>]
-    [<literal>rcvbuf</literal>=<value>size</value>]
-    [<literal>sndbuf</literal>=<value>size</value>]
-    [<literal>accept_filter</literal>=<value>filter</value>]
-    [<literal>deferred</literal>]
-    [<literal>bind</literal>]
-    [<literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal>]
-    [<literal>ssl</literal>]
-    [<literal>so_keepalive</literal>=<literal>on</literal>|<literal>off</literal>|[<value>keepidle</value>]:[<value>keepintvl</value>]:[<value>keepcnt</value>]]</syntax>
-<syntax>
-    <literal>unix:</literal><value>path</value>
-    [<literal>default_server</literal>]
-    [<literal>backlog</literal>=<value>number</value>]
-    [<literal>rcvbuf</literal>=<value>size</value>]
-    [<literal>sndbuf</literal>=<value>size</value>]
-    [<literal>accept_filter</literal>=<value>filter</value>]
-    [<literal>deferred</literal>]
-    [<literal>bind</literal>]
-    [<literal>ssl</literal>]
-    [<literal>so_keepalive</literal>=<literal>on</literal>|<literal>off</literal>|[<value>keepidle</value>]:[<value>keepintvl</value>]:[<value>keepcnt</value>]]</syntax>
-<default>*:80 | *:8000</default>
-<context>server</context>
-
-<para>
-设置nginx监听地址,nginx从这里接受请求。对于IP协议,这个地址就是<value>address</value>和<value>port</value>;对于UNIX域套接字协议,这个地址就是<value>path</value>。
-一条listen指令只能指定一个<value>address</value>或者<value>port</value>。
-<value>address</value>也可以是主机名。
-比如:
-<example>
-listen 127.0.0.1:8000;
-listen 127.0.0.1;
-listen 8000;
-listen *:8000;
-listen localhost:8000;
-</example>
-IPv6地址(0.7.36版)用方括号来表示:
-<example>
-listen [::]:8000;
-listen [fe80::1];
-</example>
-UNIX域套接字(0.8.21版)则使用“<literal>unix:</literal>”前缀:
-<example>
-listen unix:/var/run/nginx.sock;
-</example>
-</para>
-
-<para>
-如果只定义了<value>address</value>,nginx将使用80端口。
-</para>
-
-<para>
-在没有定义listen指令的情况下,如果以超级用户权限运行nginx,它将监听<literal>*:80</literal>,否则他将监听<literal>*:8000</literal>。
-</para>
-
-<para>
-如果listen指令携带<literal>default_server</literal>参数,当前虚拟主机将成为指定<value>address</value>:<value>port</value>的默认虚拟主机。
-如果任何listen指令都没有携带<literal>default_server</literal>参数,那么第一个监听<value>address</value>:<value>port</value>的虚拟主机将被作为这个地址的默认虚拟主机。
-<note>
-0.8.21版以前,这个参数的名称是<literal>default</literal>。
-</note>
-</para>
-
-<para>
-可以为<literal>listen</literal>指令定义若干额外的参数,这些参数用于套接字相关的系统调用。
-这些参数可以在任何<literal>listen</literal>指令中指定,但是对于每个<value>address</value>:<value>port</value>,只能定义一次。
-<note>
-0.8.21版以前,只有为<literal>listen</literal>指令定义了<literal>default</literal>参数,才能定义这些额外的参数。
-</note>
-<list type="tag">
-
-<tag-name>
-<literal>setfib</literal>=<value>number</value>
-</tag-name>
-<tag-desc>
-这个参数(0.8.44)为监听套接字设置关联路由表FIB(<c-def>SO_SETFIB</c-def>选项)。
-当前这个参数仅工作在FreeBSD上。
-</tag-desc>
-
-<tag-name>
-<literal>backlog</literal>=<value>number</value>
-</tag-name>
-<tag-desc>
-为系统调用<c-func>listen</c-func>设置<literal>backlog</literal>参数,用以限制未接受(Accept)连接的队列的最大长度。
-FreeBSD和Mac OS X下,<literal>backlog</literal>的默认值是-1,在其他系统中,默认值是511。
-</tag-desc>
-
-
-<tag-name>
-<literal>rcvbuf</literal>=<value>size</value>
-</tag-name>
-<tag-desc>
-为监听套接字设置接收缓冲区大小(<c-def>SO_RCVBUF</c-def>参数)。
-</tag-desc>
-
-<tag-name>
-<literal>sndbuf</literal>=<value>size</value>
-</tag-name>
-<tag-desc>
-为监听套接字设置发送缓冲区大小(<c-def>SO_SNDBUF</c-def>参数)。
-</tag-desc>
-
-<tag-name>
-<literal>accept_filter</literal>=<value>filter</value>
-</tag-name>
-<tag-desc>
-为监听套接字设置接受过滤器的名称(<c-def>SO_ACCEPTFILTER</c-def>选项)。
-对每个到来的连接,接受过滤器先进行过滤,然后才将它们呈现给<c-func>accept</c-func>。
-本特性仅工作在FreeBSD系统和NetBSD 5.0+系统下。
-可接受的值是
-<link url="http://man.freebsd.org/accf_data">dataready</link>
-和
-<link url="http://man.freebsd.org/accf_http">httpready</link>。
-</tag-desc>
-
-<tag-name>
-<literal>deferred</literal>
-</tag-name>
-<tag-desc>
-指示在Linux系统使用延迟的<c-func>accept</c-func>(<c-def>TCP_DEFER_ACCEPT</c-def>选项)。
-</tag-desc>
-
-<tag-name>
-<literal>bind</literal>
-</tag-name>
-<tag-desc>
-指示nginx为设置的<value>address</value>:<value>port</value>单独调用一次<c-func>bind</c-func>。
-这是因为当有多条<literal>listen</literal>指令监听不同地址下的相同端口,
-而其中一条<literal>listen</literal>指令监听了这个端口的所有地址(<literal>*:</literal><value>port</value>)时,
-nginx只会为<literal>*:</literal><value>port</value>调用一次<c-func>bind</c-func>绑定套接字。
-需要留意的是,这种情况下,nginx会调用<c-func>getsockname</c-func>系统调用来确定接受请求的套接字地址。
-如果为某个<value>address</value>:<value>port</value>定义了参数<literal>backlog</literal>、<literal>rcvbuf</literal>、
-<literal>sndbuf</literal>、<literal>accept_filter</literal>、<literal>deferred</literal>或者<literal>so_keepalive</literal>,
-nginx总会为这个地址单独调用一次<c-func>bind</c-func>绑定套接字。
-</tag-desc>
-
-<tag-name>
-<literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal>
-</tag-name>
-<tag-desc>
-这个参数(0.7.42)(通过<c-def>IPV6_V6ONLY</c-def>选项)决定监听在通配地址<literal>[::]</literal>上的IPv6套接字是只支持IPv6连接,还是同时支持IPv6和IPv4连接。
-这个参数默认打开,并且只能在nginx启动时设置。
-<note>
-在1.3.4版以前,如果省略此参数,那么操作系统的套接字设置将生效。
-</note>
-</tag-desc>
-
-<tag-name>
-<literal>ssl</literal>
-</tag-name>
-<tag-desc>
-本参数(0.7.14)与套接字相关的系统调用无关,但是它可以指定从这个端口接受的连接应该以SSL模式工作。
-本参数在某服务器同时处理HTTP和HTTPS请求时,可以使<link doc="configuring_https_servers.xml" id="single_http_https_server">配置</link>更为紧凑。
-<example>
-listen 80;
-listen 443 ssl;
-</example>
-</tag-desc>
-
-<tag-name>
-<literal>so_keepalive</literal>=<literal>on</literal>|<literal>off</literal>|[<value>keepidle</value>]:[<value>keepintvl</value>]:[<value>keepcnt</value>]
-</tag-name>
-<tag-desc>
-这个参数(1.1.11)为监听套接字配置“TCP keepalive”行为。
-如果省略此参数,操作系统默认的设置将对此端口生效。
-如果参数值设置为“<literal>on</literal>”,监听套接字的<c-def>SO_KEEPALIVE</c-def>属性将被开启。
-如果参数值设置为“<literal>off</literal>”,监听套接字的<c-def>SO_KEEPALIVE</c-def>属性将被关闭。
-有些操作系统支持为每个连接调整TCP长连接的参数。调整参数可以使用套接字选项<c-def>TCP_KEEPIDLE</c-def>,<c-def>TCP_KEEPINTVL</c-def>和<c-def>TCP_KEEPCNT</c-def>。
-在这些操作系统上(当前就是Linux 2.4+,嬀NetBSD 5+FreeBSD 9.0-STABLE),可以使用<value>keepidle</value>,<value>keepintvl</value>和<value>keepcnt</value>参数来配置。
-省略一到两个参数的话,对应套接字属性的系统默认设置将生效。
-比如,
-<example>so_keepalive=30m::10</example>将
-设置空闲超时(<c-def>TCP_KEEPIDLE</c-def>)为30分钟,
-设置探测次数(<c-def>TCP_KEEPCNT</c-def>)为10次,
-保留探测时间间隔(<c-def>TCP_KEEPINTVL</c-def>)为系统默认值。
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-举例:
-<example>
-listen 127.0.0.1 default_server accept_filter=dataready backlog=1024;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="location">
-<syntax block="yes">[
-    <literal>=</literal> |
-    <literal>~</literal> |
-    <literal>~*</literal> |
-    <literal>^~</literal>
-    ] <value>uri</value></syntax>
-<syntax block="yes"><literal>@</literal><value>name</value></syntax>
-<default/>
-<context>server</context>
-<context>location</context>
-
-<para>
-为某个请求URI(路径)建立配置。
-</para>
-
-<para>
-路径匹配在URI规范化以后进行。所谓规范化,就是先将URI中形如“<literal>%XX</literal>”的编码字符进行解码,
-再解析URI中的相对路径“<literal>.</literal>”和“<literal>..</literal>”部分,
-另外还可能会<link id="merge_slashes">压缩</link>相邻的两个或多个斜线成为一个斜线。
-</para>
-
-<para>
-可以使用前缀字符串或者正则表达式定义路径。使用正则表达式需要在路径开始添加“<literal>~*</literal>”前缀
-(不区分大小写),或者“<literal>~</literal>”前缀(区分大小写)。为了根据请求URI查找路径,nginx先检查前缀字符串定义的路径
-(前缀路径),在这些路径中找到能最精确匹配请求URI的路径。然后nginx按在配置文件中的出现顺序检查正则表达式路径,
-匹配上某个路径后即停止匹配并使用该路径的配置,否则使用最大前缀匹配的路径的配置。
-</para>
-
-<para>
-路径可以嵌套,但有例外,后面将提到。
-</para>
-
-<para>
-在不区分大小写的操作系统(诸如Mac OS X和Cygwin)上,前缀匹配忽略大小写(0.7.7)。但是,比较仅限于单字节的编码区域(one-byte locale)。
-</para>
-
-<para>
-正则表达式中可以包含匹配组(0.7.40),结果可以被后面的其他指令使用。
-</para>
-
-<para>
-如果最大前缀匹配的路径以“<literal>^~</literal>”开始,那么nginx不再检查正则表达式。
-</para>
-
-<para>
-而且,使用“<literal>=</literal>”前缀可以定义URI和路径的精确匹配。如果发现匹配,则终止路径查找。
-比如,如果请求“<literal>/</literal>”出现频繁,定义“<literal>location = /</literal>”可以提高这些请求的处理速度,
-因为查找过程在第一次比较以后即结束。这样的路径明显不可能包含嵌套路径。
-</para>
-
-<para>
-<note>
-在0.7.1到0.8.41的所有nginx中,如果请求匹配的前缀字符串路径并没有“<literal>=</literal>”或“<literal>^~</literal>”前缀,
-路径查找过程仍然会停止,而不进行正则表达式匹配。
-</note>
-</para>
-
-<para>
-让我们用一个例子解释上面的说法:
-<example>
-location = / {
-    [ configuration A ]
-}
-
-location / {
-    [ configuration B ]
-}
-
-location /documents/ {
-    [ configuration C ]
-}
-
-location ^~ /images/ {
-    [ configuration D ]
-}
-
-location ~* \.(gif|jpg|jpeg)$ {
-    [ configuration E ]
-}
-</example>
-请求“<literal>/</literal>”匹配配置A,
-请求“<literal>/index.html</literal>”匹配配置B,
-请求“<literal>/documents/document.html</literal>”匹配配置C,
-请求“<literal>/images/1.gif</literal>”匹配配置D,
-请求“<literal>/documents/1.jpg</literal>”匹配配置E。
-</para>
-
-<para>
-前缀“<literal>@</literal>”定义了命名路径。这种路径不在一般的请求处理中使用,
-而是用在请求重定向中。这些路径不能嵌套,也不能包含嵌套路径。
-</para>
-
-<!--
-<migration from="Apache" directive="Location" />
--->
-
-</directive>
-
-
-<directive name="log_not_found">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启或者关闭在<link doc="../ngx_core_module.xml" id="error_log"/>中记录文件不存在的错误。
-</para>
-
-</directive>
-
-
-<directive name="log_subrequest">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启或者关闭在<link doc="ngx_http_log_module.xml" id="access_log"/>中记录子请求的访问日志。
-</para>
-
-</directive>
-
-
-<directive name="max_ranges">
-<syntax><value>number</value></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.1.2</appeared-in>
-
-<para>
-如果请求中含有字节范围的请求头,这条指令可以限制此范围允许的最大值。如果请求头的值超过此限制,将按请求未携带此请求头的情况处理。
-默认nginx对此不做限制。设置为0将使nginx完全不支持HTTP字节范围特性。
-</para>
-
-</directive>
-
-
-<directive name="merge_slashes">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-开启或者关闭将请求URI中相邻两个或更多斜线合并成一个的功能。
-</para>
-
-<para>
-注意压缩URI对于前缀匹配和正则匹配的正确性是很重要的。没有开启这个功能时,请求“<literal>//scripts/one.php</literal>”将不能匹配
-<example>
-location /scripts/ {
-    ...
-}
-</example>
-而被按静态文件的流程处理,所以将它变换成“<literal>/scripts/one.php</literal>”。
-</para>
-
-<para>
-如果URI中包含base64编码的内容,必须将斜线压缩调整成<literal>off</literal>,因为base64编码本身会使用“<literal>/</literal>”字符。
-然而。出于安全方面的考虑,最好还是不要关闭压缩。
-</para>
-
-<para>
-这条指令可以指定在默认虚拟主机的<link id="server"/>配置级别。这样的话,这个配置可以覆盖监听同一地址和端口的所有虚拟主机。
-</para>
-
-</directive>
-
-
-<directive name="msie_padding">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-在响应状态码大于等于400时,在响应正文中添加一段注释,使响应正文达到512字节。
-本指令可以为MSIE客户端开启或关闭这个功能。
-</para>
-
-</directive>
-
-
-<directive name="msie_refresh">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-为MSIE客户端开启或者关闭用页面刷新取代页面重定向的功能。
-</para>
-
-</directive>
-
-
-<directive name="open_file_cache">
-<syntax><literal>off</literal></syntax>
-<syntax>
-<literal>max</literal>=<value>N</value>
-[<literal>inactive</literal>=<value>time</value>]</syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-用于配置文件缓存,可缓存:
-<list type="bullet">
-
-<listitem>
-打开文件的描述符,大小和修改时间;
-</listitem>
-
-<listitem>
-目录查找结果;
-</listitem>
-
-<listitem>
-文件查找时的错误结果,诸如“file not found”(文件不存在)、“no read permission”(无读权限)等等。
-<note>
-应单独使用<link id="open_file_cache_errors"/>指令开启缓存错误结果的功能。
-</note>
-</listitem>
-
-</list>
-</para>
-
-<para>
-指令有下列参数:
-<list type="tag">
-
-<tag-name>
-<literal>max</literal>
-</tag-name>
-<tag-desc>
-设置缓存中元素的最大数量,当缓存溢出时,使用LRU(最近最少使用)算法删除缓存中的元素;
-</tag-desc>
-
-<tag-name>
-<literal>inactive</literal>
-</tag-name>
-<tag-desc>
-设置超时,在这段时间内缓存元素如果没有被访问,将从缓存中删除。
-默认超时是60秒;
-</tag-desc>
-
-<tag-name>
-<literal>off</literal>
-</tag-name>
-<tag-desc>
-关闭缓存。
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-举例:
-<example>
-open_file_cache          max=1000 inactive=20s;
-open_file_cache_valid    30s;
-open_file_cache_min_uses 2;
-open_file_cache_errors   on;<!--
-open_file_cache_events   on;
--->
-</example>
-</para>
-
-</directive>
-
-
-<directive name="open_file_cache_errors">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启或者关闭<link id="open_file_cache">缓存文件</link>查找的错误结果。
-</para>
-
-</directive>
-
-
-<!--
-
-<directive name="open_file_cache_events">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables to use kernel events to validate
-<link id="open_file_cache"/>
-elements.
-This directive works with the
-<link doc="../events.xml" id="kqueue"/>
-method only.
-Note that only NetBSD&nbsp;2.0+ and FreeBSD&nbsp;6.0+
-support events for arbitrary file system types.
-Other operating systems support events only for essential
-file systems such as UFS or FFS.
-</para>
-
-</directive>
-
--->
-
-
-<directive name="open_file_cache_min_uses">
-<syntax><value>number</value></syntax>
-<default>1</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置在由<link id="open_file_cache"/>指令的<literal>inactive</literal>参数配置的超时时间内,
-文件应该被访问的最小<value>number(次数)</value>。如果访问次数大于等于此值,文件描述符会保留在缓存中,否则从缓存中删除。
-</para>
-
-</directive>
-
-
-<directive name="open_file_cache_valid">
-<syntax><value>time</value></syntax>
-<default>60s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置检查<link id="open_file_cache"/>缓存的元素的时间间隔。
-<!--
-When
-<link id="open_file_cache_events"/>
-is enabled, open file descriptors
-are checked only once, and then updated right after they get changed.
--->
-</para>
-
-</directive>
-
-
-<directive name="optimize_server_names">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-这条指令已经被废弃,请使用<link id="server_name_in_redirect"/>指令。
-</para>
-
-<!--
-<para>
-Enables or disables optimization of hostname checking in name-based
-virtual servers.
-In particular, the checking affects hostnames used in redirects.
-If optimization is enabled, and all name-based servers listening on
-the same address:port pair have identical configuration, then
-names are not checked during request processing, and the first
-server name is used in redirects.
-In case redirects should use hostnames sent by clients,
-optimization needs to be disabled.
-</para>
--->
-
-</directive>
-
-
-<directive name="port_in_redirect">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启或关闭nginx发起重定向时指定端口。
-</para>
-
-<para>
-重定向中首要主机名的使用由<link id="server_name_in_redirect"/>指令控制。
-</para>
-
-</directive>
-
-
-<directive name="postpone_output">
-<syntax><value>size</value></syntax>
-<default>1460</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-如果可能,到客户端的数据将被推迟发送,直到nginx需要发送的数据至少有<value>size</value>字节。
-设置为0将关闭推迟发送的功能。
-</para>
-
-</directive>
-
-
-<directive name="read_ahead">
-<syntax><value>size</value></syntax>
-<default>0</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置内核参数,控制文件预读的数量。
-</para>
-
-<para>
-在Linux上,因为使用的是<literal>posix_fadvise(0, 0, 0, POSIX_FADV_SEQUENTIAL)</literal>系统调用,所以<value>size</value>无用。
-</para>
-
-<para>
-在FreeBSD上,访问的是<literal>fcntl(O_READAHEAD,</literal><value>size</value><literal>)</literal>系统调用。
-该系统调用在FreeBSD&nbsp;9.0-CURRENT才被支持,在FreeBSD&nbsp;7上则需要<link url="http://sysoev.ru/freebsd/patch.readahead.txt">打补丁</link>。
-</para>
-
-</directive>
-
-
-<directive name="recursive_error_pages">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-允许或禁止<link id="error_page"/>指令进行多次重定向。
-允许的话,重定向次数也有<link id="internal">限制</link>。
-而禁止此功能时,当访问<link id="error_page"/>指令重定向的错误页面出现任何问题时,nginx将直接输出默认错误页面。
-</para>
-
-</directive>
-
-
-<directive name="request_pool_size">
-<syntax><value>size</value></syntax>
-<default>4k</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-允许对每个请求的内存分配进行细调。这条指令对性能影响很小,通常情况下不应使用。
-</para>
-
-</directive>
-
-
-<directive name="reset_timedout_connection">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启或关闭重置超时连接的功能。重置连接是这样执行的:关闭套接字以前,设置<c-def>SO_LINGER</c-def>选项的超时值为0,
-那么当关闭套接字时,nginx向客户端发送TCP RST,并且释放此套接字占用的所有内存。
-这样可以避免某个已关闭的套接字长时间处于FIN_WAIT1状态,并占用内存缓冲区。
-</para>
-
-<para>
-应该注意的事,超时的长连接仍然是正常关闭。
-</para>
-
-</directive>
-
-
-<directive name="resolver">
-<syntax>
-<value>address</value> ...
-[<literal>valid</literal>=<value>time</value>]</syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-配置将后端服务器的名字解析成ip地址的名字服务器,比如:
-<example>
-resolver 127.0.0.1 [::1]:5353;
-</example>
-这里地址可以指定域名或者ip地址,可以带端口号(1.3.1,1.2.2)。如果未指定端口,nginx使用53端口。
-以轮询方式发送请求到多台名字服务器。
-<note>
-在1.1.7版以前,只允许配置一个名字服务器。而支持使用IPv6地址定义名字服务器则是从1.3.1和1.2.2版本开始。
-</note>
-nginx会缓存名字解析的结果。默认情况下,缓存时间是名字解析响应中的TTL字段的值。也允许通过<literal>valid</literal>参数覆盖它:
-<example>
-resolver 127.0.0.1 [::1]:5353 valid=30s;
-</example>
-<note>
-在1.1.9版以前,不可能调节缓存时间,nginx总会将响应缓存5分钟。
-</note>
-</para>
-
-</directive>
-
-
-<directive name="resolver_timeout">
-<syntax><value>time</value></syntax>
-<default>30s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-为名字解析设置超时,比如:
-<example>
-resolver_timeout 5s;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="root">
-<syntax><value>path</value></syntax>
-<default>html</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if in location</context>
-
-<para>
-为请求设置根目录。比如,如果配置如下
-<example>
-location /i/ {
-    root /data/w3;
-}
-</example>
-那么nginx将使用文件<path>/data/w3/i/top.gif</path>响应请求“<literal>/i/top.gif</literal>”。
-</para>
-
-<para>
-<value>path</value>的值中可以包含除<var>$document_root</var>和<var>$realpath_root</var>以外的变量。
-</para>
-
-<para>
-文件路径的构造仅仅是将URI拼在<literal>root</literal>指令的值后面。如果需要修改URI,应该使用<link id="alias"/>指令。
-</para>
-
-</directive>
-
-
-<directive name="satisfy">
-<syntax><literal>all</literal> | <literal>any</literal></syntax>
-<default>all</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-nginx进行访问限制的有<link doc="ngx_http_access_module.xml">ngx_http_access_module</link>模块和
-<link doc="ngx_http_auth_basic_module.xml">ngx_http_auth_basic_module</link>模块。
-本指令设置成<literal>all</literal>时,表示只有当两个模块的所有限制条件(写入配置的)都授权访问时,允许请求访问;
-设置成<literal>any</literal>时,表示如果当任意模块的任意限制条件授权访问时,允许请求访问。
-</para>
-
-<para>
-举例:
-<example>
-location / {
-    satisfy any;
-
-    allow 192.168.1.0/32;
-    deny  all;
-
-    auth_basic           "closed site";
-    auth_basic_user_file conf/htpasswd;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="satisfy_any">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-这条指令已被<link id="satisfy"/>指令的<literal>any</literal>参数取代。
-</para>
-
-</directive>
-
-
-<directive name="send_lowat">
-<syntax><value>size</value></syntax>
-<default>0</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-如果设置成非0值,nginx将尝试最小化向客户端发送数据的次数。
-这是通过将<link doc="../events.xml" id="kqueue"/>方法的<c-def>NOTE_LOWAT</c-def>标志,
-或者将套接字的<c-def>SO_SNDLOWAT</c-def>属性设置成指定的<value>size</value>实现的。
-</para>
-
-<para>
-这条指令在Linux、Solaris和Windows操作系统无效。
-</para>
-
-</directive>
-
-
-<directive name="send_timeout">
-<syntax><value>time</value></syntax>
-<default>60s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置向客户端传输响应的超时。超时仅指两次相邻写操作之间的时间间隔,而非整个响应的传输时间。
-如果客户端在这段时间中没有收到任何数据,连接将关闭。
-</para>
-
-</directive>
-
-
-<directive name="sendfile">
-
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if in location</context>
-
-<para>
-开启或关闭使用<c-func>sendfile</c-func>调用。
-</para>
-
-</directive>
-
-
-<directive name="sendfile_max_chunk">
-
-<syntax><value>size</value></syntax>
-<default>0</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置为非0值时,可以限制在一次<c-func>sendfile</c-func>调用时传输的数据量。
-如果不进行限制,一个快速的连接可能会霸占整个worker进程的所有资源。
-</para>
-
-</directive>
-
-
-<directive name="server">
-<syntax block="yes"/>
-<default/>
-<context>http</context>
-
-<para>
-表示开始设置虚拟主机的配置。
-nginx没有明显分隔IP-based(基于IP地址)和name-based(基于<header>Host</header>请求头)这两种类型的虚拟主机,
-而是用<link id="listen"/>指令描述虚拟主机接受连接的地址和端口,用<link id="server_name"/>指令列出虚拟主机的所有主机名。
-在文档“<link doc="request_processing.xml">Nginx如何处理一个请求</link>”中提供了示例配置。
-</para>
-
-</directive>
-
-
-<directive name="server_name">
-<syntax><value>name</value> ...</syntax>
-<default>""</default>
-<context>server</context>
-
-<para>
-设置虚拟主机名,比如:
-<example>
-server {
-    server_name example.com www.example.com;
-}
-</example>
-</para>
-
-<para>
-第一个名字成为虚拟主机的首要主机名。
-</para>
-
-<para>
-主机名中可以含有星号(“<literal>*</literal>”),以替代名字的开始部分或结尾部分:
-<example>
-server {
-    server_name example.com *.example.com www.example.*;
-}
-</example>
-上面这些名字称为通配符主机名。
-</para>
-
-<para>
-上面例子中的前两个名字可以组合成一个:
-<example>
-server {
-    server_name .example.com;
-}
-</example>
-</para>
-
-<para>
-也可以在主机名中使用正则表达式,就是在名字前面补一个波浪线(“<literal>~</literal>”):
-<example>
-server {
-    server_name www.example.com ~^www\d+\.example\.com$;
-}
-</example>
-</para>
-
-<para>
-可以在正则表达式中包含匹配组(0.7.40),后续被其他指令使用:
-<example>
-server {
-    server_name ~^(www\.)?(.+)$;
-
-    location / {
-        root /sites/$2;
-    }
-}
-
-server {
-    server_name _;
-
-    location / {
-        root /sites/default;
-    }
-}
-</example>
-</para>
-
-<para>
-
-正则表达式中的命名匹配组可以创建变量(0.8.25),后续被其他指令使用:
-<example>
-server {
-    server_name ~^(www\.)?(?&lt;domain&gt;.+)$;
-
-    location / {
-        root /sites/$domain;
-    }
-}
-
-server {
-    server_name _;
-
-    location / {
-        root /sites/default;
-    }
-}
-</example>
-</para>
-
-<para>
-如果参数值等于“<var>$hostname</var>”(0.9.4),将使用机器的hostname来替换。
-</para>
-
-<para>
-nginx也允许定义空主机名(0.7.11):
-<example>
-server {
-    server_name www.example.com "";
-}
-</example>
-这种主机名可以让虚拟主机处理没有<header>Host</header>请求头的请求,而不是让指定“地址:端口”的默认虚拟主机来处理。
-这是本指令的默认设置。
-<note>
-在0.8.48版以前,机器的hostname被用作默认设置。
-</note>
-</para>
-
-<para>
-通过名字查找虚拟主机时,如果一个名字可以匹配多个指定的配置,比如同时匹配上通配符和正则表达式,
-按下面优先级,使用先匹配上的虚拟主机:
-<list type="enum">
-
-<listitem>
-确切的名字;
-</listitem>
-
-<listitem>
-最长的以星号起始的通配符名字,比如“<literal>*.example.com</literal>”;
-</listitem>
-
-<listitem>
-最长的以星号结束的通配符名字,比如“<literal>mail.*</literal>”;
-</listitem>
-
-<listitem>
-第一个匹配的正则表达式名字(按在配置文件中出现的顺序)。
-</listitem>
-
-</list>
-</para>
-
-<para>
-另一篇文档“<link doc="server_names.xml">虚拟主机名</link>”对虚拟主机名的有详细的描述。
-</para>
-
-</directive>
-
-
-<directive name="server_name_in_redirect">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启或关闭nginx将<link id="server_name"/>指令指定的首要虚拟主机名用于发起的重定向的功能。
-关闭此功能时,nginx将使用<header>Host</header>请求头的中的名字,如果没有此请求头,nginx将使用虚拟主机所在的IP地址。
-</para>
-
-<para>
-重定向中端口的使用由<link id="port_in_redirect"/>指令控制。
-</para>
-
-</directive>
-
-
-<directive name="server_names_hash_bucket_size">
-<syntax><value>size</value></syntax>
-<default>32|64|128</default>
-<context>http</context>
-
-<para>
-设置主机名哈希表的表项长度,其默认值取决于处理器的缓存线长度。
-另一篇文档“<link doc="../hash.xml">设置哈希表</link>”详细介绍了如何设置哈希表。
-</para>
-
-</directive>
-
-
-<directive name="server_names_hash_max_size">
-<syntax><value>size</value></syntax>
-<default>512</default>
-<context>http</context>
-
-<para>
-设置主机名哈希表的最大<value>size</value>(桶容量)。
-另一篇文档“<link doc="../hash.xml">设置哈希表</link>”详细介绍了如何设置哈希表。
-</para>
-
-</directive>
-
-
-<directive name="server_tokens">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启或关闭在错误信息的<header>Server</header>响应头中输出nginx版本号。
-</para>
-
-</directive>
-
-
-<directive name="tcp_nodelay">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启或关闭nginx使用<c-def>TCP_NODELAY</c-def>选项的功能。
-这个选项仅在将连接转变为长连接的时候才被启用。(译者注,在upstream发送响应到客户端时也会启用)。
-</para>
-
-</directive>
-
-
-<directive name="tcp_nopush">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启或者关闭nginx在FreeBSD上使用<c-def>TCP_NOPUSH</c-def>套接字选项,
-在Linux上使用<c-def>TCP_CORK</c-def>套接字选项。
-选项仅在使用<link id="sendfile"/>的时候才开启。
-开启此选项允许
-<list type="bullet">
-
-<listitem>
-在Linux和FreeBSD&nbsp;4.*上将响应头和正文的开始部分一起发送;
-</listitem>
-
-<listitem>
-一次性发送整个文件。
-</listitem>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="try_files">
-<syntax><value>file</value> ... <value>uri</value></syntax>
-<syntax><value>file</value> ... =<value>code</value></syntax>
-<default/>
-<context>server</context>
-<context>location</context>
-
-<para>
-按指定顺序检查文件是否存在,并且使用第一个找到的文件来处理请求,那么处理过程就是在当前上下文环境中进行的。
-文件路径是根据<link id="root"/>指令和<link id="alias"/>指令,将<value>file</value>参数拼接而成。
-可以在名字尾部添加斜线以检查目录是否存在,比如“<literal>$uri/</literal>”。
-如果找不到任何文件,将按最后一个参数指定的<value>uri</value>进行内部跳转。
-比如:
-<example>
-location /images/ {
-    try_files $uri /images/default.gif;
-}
-
-location = /images/default.gif {
-    expires 30s;
-}
-</example>
-最后一个参数也可以指向一个命名路径,如下面的例子所示。
-从0.7.51版开始,最后一个参数也可以是<value>code</value>:
-<example>
-location / {
-    try_files $uri $uri/index.html $uri.html =404;
-}
-</example>
-</para>
-
-<para>
-下面是代理Mongrel的例子:
-<example>
-location / {
-    try_files /system/maintenance.html
-              $uri $uri/index.html $uri.html
-              @mongrel;
-}
-
-location @mongrel {
-    proxy_pass http://mongrel;
-}
-</example>
-</para>
-
-<para>
-下面是Drupal用FastCGI的例子:
-<example>
-location / {
-    try_files $uri $uri/ @drupal;
-}
-
-location ~ \.php$ {
-    try_files $uri @drupal;
-
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name;
-    fastcgi_param SCRIPT_NAME     $fastcgi_script_name;
-    fastcgi_param QUERY_STRING    $args;
-
-    ... other fastcgi_param's
-}
-
-location @drupal {
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to/index.php;
-    fastcgi_param SCRIPT_NAME     /index.php;
-    fastcgi_param QUERY_STRING    q=$uri&amp;$args;
-
-    ... other fastcgi_param's
-}
-</example>
-而下面的例子中
-<example>
-location / {
-    try_files $uri $uri/ @drupal;
-}
-</example>
-<literal>try_files</literal>指令等价于
-<example>
-location / {
-    error_page 404 = @drupal;
-    log_not_found off;
-}
-</example>
-然后是这里,
-<example>
-location ~ \.php$ {
-    try_files $uri @drupal;
-
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name;
-
-    ...
-}
-</example>
-<literal>try_files</literal>在将请求发送到FastCGI服务器以前检查PHP文件是否存在。
-</para>
-
-<para>
-下面是Wordpress和Joomla的例子:
-<example>
-location / {
-    try_files $uri $uri/ @wordpress;
-}
-
-location ~ \.php$ {
-    try_files $uri @wordpress;
-
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name;
-    ... other fastcgi_param's
-}
-
-location @wordpress {
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to/index.php;
-    ... other fastcgi_param's
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="types">
-<syntax block="yes"/>
-<default>
-    text/html  html;
-    image/gif  gif;
-    image/jpeg jpg;
-</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置文件扩展名和响应的MIME类型的映射表。
-可以将多个扩展名映射到同一种类型,比如:
-<example>
-types {
-    application/octet-stream bin exe dll;
-    application/octet-stream deb;
-    application/octet-stream dmg;
-}
-</example>
-</para>
-
-<para>
-随nginx发行的<path>conf/mime.types</path>文件中包含了足够全面的映射表。
-</para>
-
-<para>
-为了是为某个路径的所有请求生成MIME类型“<literal>application/octet-stream</literal>”,
-可以使用下面配置:
-<example>
-location /download/ {
-    types        { }
-    default_type application/octet-stream;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="types_hash_bucket_size">
-<syntax><value>size</value></syntax>
-<default>32|64|128</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置MIME类型哈希表的表项长度,其默认值取决于处理器的缓存线长度。
-另一篇文档“<link doc="../hash.xml">设置哈希表</link>”详细介绍了如何设置哈希表。
-</para>
-
-</directive>
-
-
-<directive name="types_hash_max_size">
-<syntax><value>size</value></syntax>
-<default>1024</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置MIME类型哈希表的最大<value>size</value>(桶容量)。
-另一篇文档“<link doc="../hash.xml">设置哈希表</link>”详细介绍了如何设置哈希表。
-</para>
-
-</directive>
-
-
-<directive name="underscores_in_headers">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-允许或禁止在客户端请求头中使用下划线。
-如果禁止,含有下划线的请求头将被标志为非法请求头并接受<link id="ignore_invalid_headers"/>指令的处理。
-</para>
-
-<para>
-可以在默认主机的<link id="server"/>配置级别定义此命令。这样,指令设置将覆盖监听同一地址和端口的所有虚拟主机。
-</para>
-
-</directive>
-
-
-<directive name="variables_hash_bucket_size">
-<syntax><value>size</value></syntax>
-<default>64</default>
-<context>http</context>
-
-<para>
-设置变量哈希表的表项长度,其默认值取决于处理器的缓存线长度。
-另一篇文档“<link doc="../hash.xml">设置哈希表</link>”详细介绍了如何设置哈希表。
-</para>
-
-</directive>
-
-
-<directive name="variables_hash_max_size">
-<syntax><value>size</value></syntax>
-<default>512</default>
-<context>http</context>
-
-<para>
-设置变量哈希表的最大<value>size</value>(桶容量)。
-另一篇文档“<link doc="../hash.xml">设置哈希表</link>”详细介绍了如何设置哈希表。
-</para>
-
-</directive>
-
-</section>
-
-
-<section id="variables" name="内嵌变量">
-
-<para>
-<literal>ngx_http_core_module</literal>模块支持内嵌变量,变量名与Apache服务器对应。
-首先,这些变量可以表示客户端的请求头字段,诸如<var>$http_user_agent</var>、<var>$http_cookie</var>等等。
-nginx也支持其他变量:
-<list type="tag">
-
-<tag-name id="var_arg_"><var>$arg_</var><value>name</value></tag-name>
-<tag-desc>
-请求行中的<value>name</value>参数。
-</tag-desc>
-
-<tag-name id="var_args"><var>$args</var></tag-name>
-<tag-desc>
-请求行中参数字符串。
-</tag-desc>
-
-<tag-name id="var_binary_remote_addr"><var>$binary_remote_addr</var></tag-name>
-<tag-desc>
-客户端IP地址的二进制形式,值的长度总是4字节。
-</tag-desc>
-
-<tag-name id="var_body_bytes_sent"><var>$body_bytes_sent</var></tag-name>
-<tag-desc>
-nginx返回给客户端的字节数,不含响应头。
-</tag-desc>
-
-<tag-name id="var_bytes_sent"><var>$bytes_sent</var></tag-name>
-<tag-desc>
-nginx返回给客户端的字节数(1.3.8, 1.2.5)。
-</tag-desc>
-
-<tag-name id="var_connection"><var>$connection</var></tag-name>
-<tag-desc>
-连接的序列号(1.3.8, 1.2.5)。
-</tag-desc>
-
-<tag-name id="var_content_length"><var>$content_length</var></tag-name>
-<tag-desc>
-<header>Content-Length</header>请求头的值。
-</tag-desc>
-
-<tag-name id="var_content_type"><var>$content_type</var></tag-name>
-<tag-desc>
-<header>Content-Type</header>请求头的值。
-</tag-desc>
-
-<tag-name id="var_cookie_"><var>$cookie_</var><value>name</value></tag-name>
-<tag-desc>
-名为<value>name</value>的cookie。
-</tag-desc>
-
-<tag-name id="var_document_root"><var>$document_root</var></tag-name>
-<tag-desc>
-当前请求的<link id="root"/>指令或<link id="alias"/>指令的配置值。
-</tag-desc>
-
-<tag-name id="var_document_uri"><var>$document_uri</var></tag-name>
-<tag-desc>
-与<var>$uri</var>相同。
-</tag-desc>
-
-<tag-name id="var_host"><var>$host</var></tag-name>
-<tag-desc>
-<header>Host</header>请求头的值,如果没有该请求头,则为与请求对应的虚拟主机的首要主机名。
-</tag-desc>
-
-<tag-name id="var_hostname"><var>$hostname</var></tag-name>
-<tag-desc>
-机器名称。
-</tag-desc>
-
-<tag-name id="var_http_"><var>$http_</var><value>name</value></tag-name>
-<tag-desc>
-任意请求头的值;变量名的后半部为转化为小写并且用下划线替代横线后的请求头名称。
-</tag-desc>
-
-<tag-name id="var_https"><var>$https</var></tag-name>
-<tag-desc>
-如果连接是SSL模块,返回“<literal>on</literal>”,否则返回空字符串。
-</tag-desc>
-
-<tag-name id="var_is_args"><var>$is_args</var></tag-name>
-<tag-desc>
-如果请求行带有参数,返回“<literal>?</literal>”,否则返回空字符串。
-</tag-desc>
-
-<tag-name id="var_limit_rate"><var>$limit_rate</var></tag-name>
-<tag-desc>
-允许设置此值来限制连接的传输速率。
-</tag-desc>
-
-<tag-name id="var_msec"><var>$msec</var></tag-name>
-<tag-desc>
-当前时间,单位是秒,精度是毫秒。(1.3.9, 1.2.6)
-</tag-desc>
-
-<tag-name id="var_nginx_version"><var>$nginx_version</var></tag-name>
-<tag-desc>
-nginx版本号。
-</tag-desc>
-
-<tag-name id="var_pid"><var>$pid</var></tag-name>
-<tag-desc>
-worker进程的PID。
-</tag-desc>
-
-<tag-name id="var_query_string"><var>$query_string</var></tag-name>
-<tag-desc>
-与<var>$args</var>相同。
-</tag-desc>
-
-<tag-name id="var_realpath_root"><var>$realpath_root</var></tag-name>
-<tag-desc>
-按<link id="root"/>指令或<link id="alias"/>指令算出的当前请求的绝对路径。其中的符号链接都会解析成真是文件路径。
-</tag-desc>
-
-<tag-name id="var_remote_addr"><var>$remote_addr</var></tag-name>
-<tag-desc>
-客户端IP地址。
-</tag-desc>
-
-<tag-name id="var_remote_port"><var>$remote_port</var></tag-name>
-<tag-desc>
-客户端端口。
-</tag-desc>
-
-<tag-name id="var_remote_user"><var>$remote_user</var></tag-name>
-<tag-desc>
-为基本用户认证提供的用户名。
-</tag-desc>
-
-<tag-name id="var_request"><var>$request</var></tag-name>
-<tag-desc>
-完整的原始请求行。
-</tag-desc>
-
-<tag-name id="var_request_body"><var>$request_body</var></tag-name>
-<tag-desc>
-请求正文。
-<para>
-在由<link doc="ngx_http_proxy_module.xml" id="proxy_pass"/>指令和
-<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_pass"/>指令处理的路径中,
-这个变量值可用。
-</para>
-</tag-desc>
-
-<tag-name id="var_reuqest_body_file"><var>$request_body_file</var></tag-name>
-<tag-desc>
-请求正文的临时文件名。
-<para>
-处理完成时,临时文件将被删除。
-如果希望总是将请求正文写入文件,需要开启<link id="client_body_in_file_only"/>。
-如果在被代理的请求或FastCGI请求中传递临时文件名,就应该禁止传递请求正文本身。
-使用<link doc="ngx_http_proxy_module.xml" id="proxy_pass_request_body">proxy_pass_request_body off</link>指令
-和<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_pass_request_body">fastcgi_pass_request_body off</link>指令
-分别禁止在代理和FastCGI中传递请求正文。
-</para>
-</tag-desc>
-
-<tag-name id="var_request_complete"><var>$request_completion</var></tag-name>
-<tag-desc>
-请求完成时返回“<literal>OK</literal>”,否则返回空字符串。
-</tag-desc>
-
-<tag-name id="var_request_filename"><var>$request_filename</var></tag-name>
-<tag-desc>
-基于<link id="root"/>指令或<link id="alias"/>指令,以及请求URI,得到的当前请求的文件路径。
-</tag-desc>
-
-<tag-name id="var_request_method"><var>$request_method</var></tag-name>
-<tag-desc>
-HTTP方法,通常为“<literal>GET</literal>”或者“<literal>POST</literal>”。
-</tag-desc>
-
-<tag-name id="var_request_time"><var>$request_time</var></tag-name>
-<tag-desc>
-请求处理的时间,单位为秒,精度是毫秒(1.3.9, 1.2.6);请求处理时间从由客户端接收到第一个字节开始计算。
-</tag-desc>
-
-<tag-name id="var_request_uri"><var>$request_uri</var></tag-name>
-<tag-desc>
-完整的原始请求行(带参数)。
-</tag-desc>
-
-<tag-name id="var_scheme"><var>$scheme</var></tag-name>
-<tag-desc>
-请求协议类型,为“<literal>http</literal>”或“<literal>https</literal>”。
-</tag-desc>
-
-<tag-name id="var_sent_http_"><var>$sent_http_</var><value>name</value></tag-name>
-<tag-desc>
-任意的响应头字段的值。
-变量名的后半部为转化为小写并且用下划线替代横线后的响应头名称。
-</tag-desc>
-
-<tag-name id="var_server_addr"><var>$server_addr</var></tag-name>
-<tag-desc>
-接受请求的服务器地址。
-<para>
-为计算这个值,通常需要进行一次系统调用。为了避免系统调用,必须指定<link id="listen"/>指令
-的地址,并且使用<literal>bind</literal>参数。
-</para>
-</tag-desc>
-
-<tag-name id="var_server_name"><var>$server_name</var></tag-name>
-<tag-desc>
-接受请求的虚拟主机的首要主机名。
-</tag-desc>
-
-<tag-name id="var_server_port"><var>$server_port</var></tag-name>
-<tag-desc>
-接受请求的虚拟主机的端口。
-</tag-desc>
-
-<tag-name id="var_server_protocol"><var>$server_protocol</var></tag-name>
-<tag-desc>
-请求协议,通常为“<literal>HTTP/1.0</literal>”或“<literal>HTTP/1.1</literal>”。
-</tag-desc>
-
-<tag-name id="var_status"><var>$status</var></tag-name>
-<tag-desc>
-响应状态码。
-</tag-desc>
-
-<tag-name id="var_tcpinfo_">
-<var>$tcpinfo_rtt</var>,
-<var>$tcpinfo_rttvar</var>,
-<var>$tcpinfo_snd_cwnd</var>,
-<var>$tcpinfo_rcv_space</var>
-</tag-name>
-<tag-desc>
-客户端TCP连接的信息,在支持套接字选项<c-def>TCP_INFO</c-def>的系统中可用。
-</tag-desc>
-
-<tag-name id="var_uri"><var>$uri</var></tag-name>
-<tag-desc>
-当前请求<link id="location">规范化</link>以后的URI。
-<para>
-变量<var>$uri</var>的值可能随请求的处理过程而改变。
-比如,当进行内部跳转时,或者使用默认页文件。
-</para>
-</tag-desc>
-
-</list>
-</para>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_empty_gif_module.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_empty_gif_module 模块"
-        link="/cn/docs/http/ngx_http_empty_gif_module.html"
-        lang="cn"
-        translator="yzprofile"
-        rev="1">
-
-
-<section id="summary">
-
-<para>
-模块 <literal>ngx_http_empty_gif_module</literal> 只返回一个透明像素的GIF图片。
-</para>
-
-</section>
-
-
-<section id="example" name="配置范例">
-
-<para>
-<example>
-location = /_.gif {
-    empty_gif;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="empty_gif">
-<syntax/>
-<default/>
-<context>location</context>
-
-<para>
-在当前location里使用这个模块处理请求。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_flv_module.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_flv_module 模块"
-        link="/cn/docs/http/ngx_http_flv_module.html"
-        lang="cn"
-        translator="litianqing"
-        rev="1">
-
-<section id="summary">
-
-<para>
-模块<literal>ngx_http_flv_module </literal> 为Flash Video(FLV)文件
-提供服务端伪流媒体支持
-</para>
-
-<para>
-通过返回以请求偏移位置开始的文件内容,该模块专门处理
-在查询串中有<literal>start</literal>参数的请求,
-和有预先设置到FLV头部的请求。
-</para>
-
-<para>
-这个模块并不是默认构建的,必须通过配置参数
-<literal>--with-http_flv_module</literal>
-来启用。
-</para>
-
-</section>
-
-
-<section id="example" name="配置范例">
-
-<para>
-<example>
-location ~ \.flv$ {
-    flv;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-<directive name="flv">
-<syntax/>
-<default/>
-<context>location</context>
-
-<para>
-在当前location里使用这个模块处理请求。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_geo_module.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_geo_module 模块"
-        link="/cn/docs/http/ngx_http_geo_module.html"
-        lang="cn"
-        translator="cfsego"
-        rev="1">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_geo_module</literal> 模块创建变量,并根据客户端IP地址对变量赋值。
-</para>
-
-</section>
-
-
-<section id="example" name="配置示例">
-
-<para>
-<example>
-geo $geo {
-    default        0;
-    127.0.0.1/32   2;
-    192.168.1.0/24 1;
-    10.1.0.0/16    1;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="geo">
-<syntax block="yes">[<value>$address</value>] <value>$variable</value></syntax>
-<default/>
-<context>http</context>
-
-<para>
-定义从指定的变量获取客户端的IP地址。默认情况下,nginx从<var>$remote_addr</var>变量取得客户端IP地址,但也可以从其他变量获得(0.7.27版),比如:
-<example>
-geo $arg_remote_addr $geo {
-    ...;
-}
-</example>
-如果该变量的值不能代表一个合法的IP地址,那么nginx将使用地址“<literal>255.255.255.255</literal>”。
-</para>
-
-<para>
-nginx通过CIDR或者地址段(0.7.23版)来描述地址,同时支持下面的特殊参数:
-<list type="tag">
-
-<tag-name><literal>delete</literal></tag-name>
-<tag-desc>
-删除指定网络(0.7.23版)。
-</tag-desc>
-
-<tag-name><literal>default</literal></tag-name>
-<tag-desc>
-如果客户端地址不能匹配任意一个定义的地址,nginx将使用此值。
-如果使用CIDR,可以用“<literal>0.0.0.0/0</literal>”代替<literal>default</literal>。
-</tag-desc>
-
-<tag-name><literal>include</literal></tag-name>
-<tag-desc>
-包含一个定义地址和值的文件。可以多次包含。
-</tag-desc>
-
-<tag-name><literal>proxy</literal></tag-name>
-<tag-desc>
-定义可信地址(0.8.7,0.7.63版)。
-如果请求来自可信地址,nginx将使用其<header>X-Forwarded-For</header>头来获得地址。
-相对于普通地址,可信地址是顺序检测的。
-<note>
-从1.3.0和1.2.1版本起,nginx开始支持IPv6地址。
-</note>
-</tag-desc>
-
-<tag-name><literal>proxy_recursive</literal></tag-name>
-<tag-desc>
-开启递归查找地址(1.3.0,1.2.1版)。
-如果关闭递归查找,在客户端地址与某个可信地址匹配时,nginx将使用<header>X-Forwarded-For</header>中的最后一个地址来代替原始客户端地址。
-如果开启递归查找,在客户端地址与某个可信地址匹配时,nginx将使用<header>X-Forwarded-For</header>中最后一个与所有可信地址都不匹配的地址来代替原始客户端地址。
-</tag-desc>
-
-<tag-name><literal>ranges</literal></tag-name>
-<tag-desc>
-指示地址将定义为地址段的形式(0.7.23版)。这个参数应该第一个被定义。为了加速装载地址库,地址应按升序定义。
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-举例:
-<example>
-geo $country {
-    default        ZZ;
-    include        conf/geo.conf;
-    delete         127.0.0.0/16;
-    proxy          192.168.100.0/24;
-    proxy          2001:0db8::/32;
-
-    127.0.0.0/24   US;
-    127.0.0.1/32   RU;
-    10.1.0.0/16    RU;
-    192.168.1.0/24 UK;
-}
-</example>
-</para>
-
-<para>
-<path>conf/geo.conf</path>文件中可能包含下列文本行:
-<example>
-10.2.0.0/16    RU;
-192.168.2.0/24 RU;
-</example>
-</para>
-
-<para>
-nginx将使用能最精确匹配客户端地址的配置中定义的值。比如,对于地址127.0.0.1,nginx会选取“<literal>RU</literal>”而非“<literal>US</literal>”,作为变量值。
-</para>
-
-<para>
-地址段的例子:
-<example>
-geo $country {
-    ranges;
-    default                   ZZ;
-    127.0.0.0-127.0.0.0       US;
-    127.0.0.1-127.0.0.1       RU;
-    127.0.0.1-127.0.0.255     US;
-    10.1.0.0-10.1.255.255     RU;
-    192.168.1.0-192.168.1.255 UK;
-}
-</example>
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_geoip_module.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_geoip_module 模块"
-        link="/cn/docs/http/ngx_http_geoip_module.html"
-        lang="cn"
-        translator="cfsego"
-        rev="1">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_geoip_module</literal> 模块(0.8.6+)创建变量,使用预编译的<link url="http://www.maxmind.com">MaxMind</link>数据库解析客户端IP地址,得到变量值。
-</para>
-
-<para>
-nginx默认不编译这个模块,需要开启<literal>--with-http_geoip_module</literal>编译选项。
-<note>
-模块依赖<link url="http://www.maxmind.com/app/c">MaxMind GeoIP</link>库。
-</note>
-</para>
-
-</section>
-
-
-<section id="example" name="配置示例">
-
-<para>
-<example>
-http {
-    geoip_country         GeoIP.dat;
-    geoip_city            GeoLiteCity.dat;
-    geoip_proxy           192.168.100.0/24;
-    geoip_proxy           2001:0db8::/32;
-    geoip_proxy_recursive on;
-    ...
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="geoip_country">
-<syntax><value>database</value></syntax>
-<default/>
-<context>http</context>
-
-<para>
-指定数据库,用于根据客户端IP地址得到其所在国家。
-使用这个数据库时,配置中可用下列变量:
-<list type="tag">
-
-<tag-name><var>$geoip_country_code</var></tag-name>
-<tag-desc>
-双字符国家代码,比如
-“<literal>RU</literal>”,“<literal>US</literal>”。
-</tag-desc>
-
-<tag-name><var>$geoip_country_code3</var></tag-name>
-<tag-desc>
-三字符国家代码,比如
-“<literal>RUS</literal>”,“<literal>USA</literal>”。
-</tag-desc>
-
-<tag-name><var>$geoip_country_name</var></tag-name>
-<tag-desc>
-国家名称,比如
-“<literal>Russian Federation</literal>”,“<literal>United States</literal>”。
-</tag-desc>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="geoip_city">
-<syntax><value>database</value></syntax>
-<default/>
-<context>http</context>
-
-<para>
-指定数据库,用于根据客户端IP地址得到其所在的国家、行政区和城市。
-使用这个数据库时,配置中可用下列变量:
-<list type="tag">
-
-<tag-name><var>$geoip_city_country_code</var></tag-name>
-<tag-desc>
-双字符国家代码,比如
-“<literal>RU</literal>”,“<literal>US</literal>”。
-</tag-desc>
-
-<tag-name><var>$geoip_city_country_code3</var></tag-name>
-<tag-desc>
-三字符国家代码,比如
-“<literal>RUS</literal>”,“<literal>USA</literal>”。
-</tag-desc>
-
-<tag-name><var>$geoip_city_country_name</var></tag-name>
-<tag-desc>
-国家名称,比如
-“<literal>Russian Federation</literal>”,“<literal>United States</literal>”。
-</tag-desc>
-
-<tag-name><var>$geoip_region</var></tag-name>
-<tag-desc>
-国家行政区名(行政区、直辖区、州、省、联邦管辖区,诸如此类),比如
-“<literal>Moscow City</literal>”,“<literal>DC</literal>”。
-</tag-desc>
-
-<tag-name><var>$geoip_city</var></tag-name>
-<tag-desc>
-城市名称,比如
-“<literal>Moscow</literal>”,“<literal>Washington</literal>”。
-</tag-desc>
-
-<tag-name><var>$geoip_postal_code</var></tag-name>
-<tag-desc>
-邮编。
-</tag-desc>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="geoip_proxy">
-<syntax><value>address</value> | <value>CIDR</value></syntax>
-<default/>
-<context>http</context>
-<appeared-in>1.3.0</appeared-in>
-<appeared-in>1.2.1</appeared-in>
-
-<para>
-定义可信地址。
-如果请求来自可信地址,nginx将使用其<header>X-Forwarded-For</header>头来获得地址。
-</para>
-
-</directive>
-
-
-<directive name="geoip_proxy_recursive">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<appeared-in>1.3.0</appeared-in>
-<appeared-in>1.2.1</appeared-in>
-
-<para>
-如果关闭递归查找,在客户端地址与某个可信地址匹配时,nginx将使用<header>X-Forwarded-For</header>中的最后一个地址来代替原始客户端地址。
-如果开启递归查找,在客户端地址与某个可信地址匹配时,nginx将使用<header>X-Forwarded-For</header>中最后一个与所有可信地址都不匹配的地址来代替原始客户端地址。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_gzip_static_module.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_gzip_static_module模块"
-        link="/cn/docs/http/ngx_http_gzip_static_module.html"
-        lang="cn"
-        translator="WenMing"
-        rev="1">
-
-<section id="summary">
-
-<para>
-模块 <literal>ngx_http_gzip_static_module</literal> 允许发送以“<literal>.gz</literal>”作为文件扩展名的预压缩文件,以替代发送普通文件。
-</para>
-
-<para>
-这个模块不是默认编译的,因此需要指定
-<literal>--with-http_gzip_static_module</literal>
-编译选项。
-</para>
-
-</section>
-
-
-<section id="example" name="配置范例">
-
-<para>
-<example>
-gzip_static  on;
-gzip_proxied expired no-cache no-store private auth;
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="gzip_static">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-启用或者禁用检查预压缩文件是否存在。
-与以下指令共同确定功能开启:
-<link doc="ngx_http_gzip_module.xml" id="gzip_http_version"/>,
-<link doc="ngx_http_gzip_module.xml" id="gzip_proxied"/>,
-<link doc="ngx_http_gzip_module.xml" id="gzip_disable"/>,
-和<link doc="ngx_http_gzip_module.xml" id="gzip_vary"/>.
-</para>
-
-<para>
-文件可以使用 <command>gzip</command> 命令来进行压缩,或任何其他兼容的命令。
-建议压缩文件和原始文件的修改日期和时间保持一致。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_image_filter_module.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_image_filter_module模块"
-        link="/cn/docs/http/ngx_http_image_filter_module.html"
-        lang="cn"
-        translator="Cen Zheng"
-        rev="1">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_image_filter_module</literal> 模块(0.7.54+)是一个
-过滤器,它可以对JPEG,GIF和PNG等图像进行变换。
-</para>
-
-<para>
-这个模块并不是默认编译的,需要通过
-<literal>--with-http_image_filter_module</literal>编译选项来启用。
-<note>
-这个模块使用了
-<link url="http://libgd.org">libgd</link> 库。
-推荐使用这个库可用的最新版本;在写这个文档时它的最新版本是2.0.35。
-</note>
-</para>
-
-</section>
-
-
-<section id="example" name="配置例子">
-
-<para>
-<example>
-location /img/ {
-    proxy_pass   http://backend;
-    image_filter resize 150 100;
-    image_filter rotate 90;
-    error_page   415 = /empty;
-}
-
-location = /empty {
-    empty_gif;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="image_filter">
-<syntax><literal>off</literal></syntax>
-<syntax><literal>test</literal></syntax>
-<syntax><literal>size</literal></syntax>
-<syntax>
-    <literal>rotate</literal>
-    <literal>90</literal> | <literal>180</literal> |
-    <literal>270</literal></syntax>
-<syntax>
-    <literal>resize</literal>
-    <value>width</value>
-    <value>height</value></syntax>
-<syntax>
-    <literal>crop</literal>
-    <value>width</value>
-    <value>height</value></syntax>
-<default/>
-<context>location</context>
-
-<para>
-设置图像变换的操作:
-<list type="tag">
-
-<tag-name><literal>off</literal></tag-name>
-<tag-desc>
-在所在location关闭模块处理。
-</tag-desc>
-
-<tag-name><literal>test</literal></tag-name>
-<tag-desc>
-确保应答是JPEG,GIF或PNG格式的图像。否则错误
-<http-status code="415" text="Unsupported Media Type"/>
-将被返回。
-</tag-desc>
-
-<tag-name><literal>size</literal></tag-name>
-<tag-desc>
-以JSON格式返回图像信息。例如:
-<example>
-{ "img" : { "width": 100, "height": 100, "type": "gif" } }
-</example>
-如果有错误发生,将会返回如下:
-<example>
-{}
-</example>
-</tag-desc>
-
-<tag-name><literal>rotate</literal>
-<literal>90</literal>|<literal>180</literal>|<literal>270</literal>
-</tag-name>
-<tag-desc>
-将图像逆时针旋转指定角度。
-参数的值可以包含变量。
-可以单独使用,或与
-<literal>resize</literal> 和 <literal>crop</literal> 变换同时使用.
-</tag-desc>
-
-<tag-name><literal>resize</literal>
-<value>width</value>
-<value>height</value>
-</tag-name>
-<tag-desc>
-按比例缩小图像至指定大小。
-如果想只指定其中一维,另一维可以指定为:
-“<literal>-</literal>”。
-如果有错误发生,服务器会返回
-<http-status code="415" text="Unsupported Media Type"/>.
-参数的值可以包含变量。
-当与 <literal>rotate</literal> 参数同时使用时,
-旋转发生在缩放 <emphasis>之后</emphasis>。
-</tag-desc>
-
-<tag-name><literal>crop</literal>
-<value>width</value>
-<value>height</value>
-</tag-name>
-<tag-desc>
-按比例以图像的最短边为准对图像大小进行缩小,然后裁剪另一边多出来的部分。
-如果想只指定其中一维,另一维可以指定为:
-“<literal>-</literal>”。
-如果有错误发生,服务器会返回
-<http-status code="415" text="Unsupported Media Type"/>.
-参数的值可以包含变量。
-当与 <literal>rotate</literal> 参数同时使用时,
-旋转发生在裁剪 <emphasis>之前</emphasis>。
-</tag-desc>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="image_filter_buffer">
-<syntax><value>size</value></syntax>
-<default>1M</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置用来读图像的缓冲区的最大值。
-若图像超过这个大小,服务器会返回
-<http-status code="415" text="Unsupported Media Type"/>.
-</para>
-
-</directive>
-
-
-<directive name="image_filter_jpeg_quality">
-<syntax><value>quality</value></syntax>
-<default>75</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置变换后的JPEG图像的 <value>质量</value> 。
-可配置值: 1 ~ 100 。
-更小的值意味着更差的图像质量以及更少需要传输的数据。
-推荐的最大值是95.
-参数的值可以包含变量。
-</para>
-
-</directive>
-
-
-<directive name="image_filter_sharpen">
-<syntax><value>percent</value></syntax>
-<default>0</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-增加最终图像的锐度。
-锐度百分比可以超过100.
-0为关闭锐化。
-参数的值可以包含变量。
-</para>
-
-</directive>
-
-
-<directive name="image_filter_transparency">
-<syntax><literal>on</literal>|<literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义当对PNG,或者GIF图像进行颜色变换时是否需要保留透明度。
-损失透明度有可能可以获得更高的图像质量。
-PNG图像中的alpha通道的透明度默认会一直被保留。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_index_module.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_index_module模块"
-        link="/cn/docs/http/ngx_http_index_module.html"
-        lang="cn"
-        translator="litianqing"
-        rev="1">
-
-<section id="summary">
-
-<para>
-模块 <literal>ngx_http_index_module</literal> 处理以斜线字符(‘<literal>/</literal>’)结尾的请求。
-</para>
-
-</section>
-
-
-<section id="example" name="配置范例">
-
-<para>
-<example>
-location / {
-    index index.$geo.html index.html;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="index">
-<syntax><value>file</value> ...</syntax>
-<default>index.html</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义将要被作为默认页的文件。
-文件 <value>file</value> 的名字可以包含变量。
-文件以配置中指定的顺序被nginx检查。
-列表中的最后一个元素可以是一个带有绝对路径的文件。
-例子:
-<example>
-index index.$geo.html index.0.html /index.html;
-</example>
-</para>
-
-<para>
-需要注意的是,index文件会引发内部重定向,请求可能会被其它location处理。
-比如,下面这个例子:
-<example>
-location = / {
-    index index.html;
-}
-
-location / {
-    ...
-}
-</example>
-请求“<literal>/</literal>”实际上将会在第二个location中作为“<literal>/index.html</literal>”被处理。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_limit_conn_module.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_limit_conn_module 模块"
-        link="/cn/docs/http/ngx_http_limit_conn_module.html"
-        lang="cn"
-        translator="G_will"
-        rev="1">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_limit_conn_module</literal> 模块可以按照定义的键限定每个键值的连接数。特别的,可以设定单一 IP 来源的连接数。
-</para>
-
-<para>
-并不是所有的连接都会被模块计数;只有那些正在被处理的请求(这些请求的头信息已被完全读入)所在的连接才会被计数。
-</para>
-
-</section>
-
-
-<section id="example" name="配置范例">
-
-<para>
-<example>
-http {
-    limit_conn_zone $binary_remote_addr zone=addr:10m;
-
-    ...
-
-    server {
-
-        ...
-
-        location /download/ {
-            limit_conn addr 1;
-        }
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="limit_conn">
-<syntax><value>zone</value> <value>number</value></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-指定一块已经设定的共享内存空间,以及每个给定键值的最大连接数。当连接数超过最大连接数时,服务器将会返回
-<http-status code="503" text="Service Temporarily Unavailable"/>
-错误。比如,如下配置
-<example>
-limit_conn_zone $binary_remote_addr zone=addr:10m;
-
-server {
-    location /download/ {
-        limit_conn addr 1;
-    }
-</example>
-表示,同一 IP 同一时间只允许有一个连接。
-</para>
-
-<para>
-当多个 <literal>limit_conn</literal> 指令被配置时,所有的连接数限制都会生效。比如,下面配置不仅会限制单一IP来源的连接数,同时也会限制单一虚拟服务器的总连接数:
-<example>
-limit_conn_zone $binary_remote_addr zone=perip:10m;
-limit_conn_zone $server_name zone=perserver:10m;
-
-server {
-    ...
-    limit_conn perip 10;
-    limit_conn perserver 100;
-}
-</example>
-
-</para>
-
-<para>
-如果当前配置层级没有<literal>limit_conn</literal>指令,将会从更高层级继承连接限制配置。
-</para>
-
-</directive>
-
-
-<directive name="limit_conn_log_level">
-<syntax>
-<literal>info</literal> |
-<literal>notice</literal> |
-<literal>warn</literal> |
-<literal>error</literal></syntax>
-<default>error</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>0.8.18</appeared-in>
-
-<para>
-指定当连接数超过设定的最大连接数,服务器限制连接时的日志等级。
-</para>
-
-</directive>
-
-
-<directive name="limit_conn_zone">
-<syntax>
-    <value>$variable</value>
-    <literal>zone</literal>=<value>name</value>:<value>size</value></syntax>
-<default/>
-<context>http</context>
-
-<para>
-设定保存各个键的状态的共享内存空间的参数。键的状态中保存了当前连接数。键的值可以是特定变量的任何非空值(空值将不会被考虑)。
-使用范例:
-<example>
-limit_conn_zone $binary_remote_addr zone=addr:10m;
-</example>
-这里,设置客户端的IP地址作为键。注意,这里使用的是<var>$binary_remote_addr</var>变量,而不是<var>$remote_addr</var>变量。<var>$remote_addr</var>变量的长度为7字节到15字节不等,而存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。而<var>$binary_remote_addr</var>变量的长度是固定的4字节,存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。一兆字节的共享内存空间可以保存3.2万个32位的状态,1.6万个64位的状态。如果共享内存空间被耗尽,服务器将会对后续所有的请求返回
-<http-status code="503" text="Service Temporarily Unavailable"/>
-错误。
-</para>
-
-</directive>
-
-
-<directive name="limit_zone">
-<syntax>
-    <value>name</value>
-    <value>$variable</value>
-    <value>size</value></syntax>
-<default/>
-<context>http</context>
-
-<para>
-这条指令在 1.1.8 版本中已经被废弃,应该使用等效的<link id="limit_conn_zone"/>指令。该指令的语法也有变化:
-<note>
-<literal>limit_conn_zone</literal>
-<value>$variable</value>
-<literal>zone</literal>=<value>name</value>:<value>size</value>;
-</note>
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_limit_req_module.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_limit_req_module 模块"
-        link="/cn/docs/http/ngx_http_limit_req_module.html"
-        lang="cn"
-        translator="Weibin Yao"
-        rev="1">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_limit_req_module</literal>模块(0.7.21)可以通过定义的
-键值来限制请求处理的频率。特别的,它可以限制来自单个IP地址的请求处理频率。
-限制的方法是通过一种“漏桶”的方法——固定每秒处理的请求数,推迟过多的请求处理。
-</para>
-
-
-</section>
-
-
-<section id="example" name="配置示例">
-
-<para>
-<example>
-http {
-    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
-
-    ...
-
-    server {
-
-        ...
-
-        location /search/ {
-            limit_req zone=one burst=5;
-        }
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="limit_req">
-<syntax>
-    <literal>zone</literal>=<value>name</value>
-    [<literal>burst</literal>=<value>number</value>]
-    [<literal>nodelay</literal>]</syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置对应的共享内存限制域和允许被处理的最大请求数阈值。
-如果请求的频率超过了限制域配置的值,请求处理会被延迟,所以
-所有的请求都是以定义的频率被处理的。
-超过频率限制的请求会被延迟,直到被延迟的请求数超过了定义的阈值
-这时,这个请求会被终止,并返回<http-status code="503" text="Service Temporarily Unavailable"/>
-错误。这个阈值的默认值等于0。
-比如这些指令:
-<example>
-limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
-
-server {
-    location /search/ {
-        limit_req zone=one burst=5;
-    }
-</example>
-限制平均每秒不超过一个请求,同时允许超过频率限制的请求数不多于5个。
-</para>
-
-<para>
-如果不希望超过的请求被延迟,可以用<literal>nodelay</literal>参数:
-<example>
-limit_req zone=one burst=5 nodelay;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="limit_req_log_level">
-<syntax>
-<literal>info</literal> |
-<literal>notice</literal> |
-<literal>warn</literal> |
-<literal>error</literal></syntax>
-<default>error</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>0.8.18</appeared-in>
-
-<para>
-设置你所希望的日志级别,当服务器因为频率过高拒绝或者延迟处理请求时可以记下相应级别的日志。
-延迟记录的日志级别比拒绝的低一个级别;比如,
-如果设置“<literal>limit_req_log_level notice</literal>”,
-延迟的日志就是<literal>info</literal>级别。
-</para>
-
-</directive>
-
-
-<directive name="limit_req_zone">
-<syntax>
-    <value>$variable</value>
-    <literal>zone</literal>=<value>name</value>:<value>size</value>
-    <literal>rate</literal>=<value>rate</value></syntax>
-<default/>
-<context>http</context>
-
-<para>
-设置一块共享内存限制域的参数,它可以用来保存键值的状态。
-它特别保存了当前超出请求的数量。
-键的值就是指定的变量(空值不会被计算)。
-示例用法:
-<example>
-limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
-</example>
-</para>
-
-<para>
-这里,状态被存在名为“one”,最大10M字节的共享内存里面。对于这个限制域来说
-平均处理的请求频率不能超过每秒一次。
-</para>
-
-<para>
-键值是客户端的IP地址。
-如果不使用<var>$remote_addr</var>变量,而用<var>$binary_remote_addr</var>变量,
-可以将每条状态记录的大小减少到64个字节,这样1M的内存可以保存大约1万6千个64字节的记录。
-如果限制域的存储空间耗尽了,对于后续所有请求,服务器都会返回
-<http-status code="503" text="Service Temporarily Unavailable"/>错误。
-</para>
-
-<para>
-请求频率可以设置为每秒几次(r/s)。如果请求的频率不到每秒一次,
-你可以设置每分钟几次(r/m)。比如每秒半次就是30r/m。
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_log_module.xml
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_log_module模块"
-        link="/cn/docs/http/ngx_http_log_module.html"
-        lang="cn"
-        translator="nigelzeng"
-        rev="3">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_log_module</literal>模块按指定的格式写访问日志。
-</para>
-
-<para>
-请求在处理结束时,会按请求路径的配置上下文记访问日志。
-如果在请求处理期间产生了<link doc="ngx_http_core_module.xml" id="internal">内部跳转</link>,
-请求结束时的路径可能不同于原始的请求路径。
-</para>
-
-</section>
-
-
-<section id="example" name="配置实例">
-
-<para>
-<example>
-log_format gzip '$remote_addr - $remote_user [$time_local] '
-                '"$request" $status $bytes_sent '
-                '"$http_referer" "$http_user_agent" "$gzip_ratio"';
-
-access_log /spool/logs/nginx-access.log gzip buffer=32k;
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="access_log">
-<syntax>
-    <value>path</value>
-    [<value>format</value>
-    [<literal>buffer</literal>=<value>size</value>]]</syntax>
-<syntax><literal>off</literal></syntax>
-<default>logs/access.log combined</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if in location</context>
-<context>limit_except</context>
-
-<para>
-为访问日志设置路径,格式和缓冲区大小(nginx访问日志支持缓存)。
-在同一个配置层级里可以指定多个日志。
-特定值<literal>off</literal>会取消当前配置层级里的所有<literal>access_log</literal>指令。
-如果没有指定日志格式则会使用预定义的“<literal>combined</literal>”格式。
-</para>
-
-<para>
-缓冲区的大小不能超过磁盘文件原子性写入的大小。
-对于FreeBSD来说缓冲区大小是无限制的。
-</para>
-
-<para>
-日志文件的路径可以包含变量(0.7.6+),
-但此类日志存在一些限制:
-<list type="bullet">
-
-<listitem>
-工作进程使用的<link doc="../ngx_core_module.xml" id="user"/>
-应拥有在目录里创建文件的权限;
-</listitem>
-
-<listitem>
-写缓冲无效;
-</listitem>
-
-<listitem>
-每条日志写入都会打开和关闭文件。然而,频繁使用的文件描述符可以存储在
-<link id="open_log_file_cache">缓存</link>中,
-在<link id="open_log_file_cache"/>指令的<literal>valid</literal>参数指定的时间里,
-写操作能持续写到旧文件。
-</listitem>
-
-<listitem>
-每次日志写入的操作都会检查请求的
-<link doc="ngx_http_core_module.xml" id="root">根目录</link>是否存在,
-如果不存在则日志不会被创建。
-因此在一个层级里同时指定<link doc="ngx_http_core_module.xml" id="root"/>
-和<literal>access_log</literal>是一个不错的想法:
-<example>
-server {
-    root       /spool/vhost/data/$host;
-    access_log /spool/vhost/logs/$host;
-    ...
-</example>
-</listitem>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="log_format">
-<syntax>
-    <value>name</value>
-    <value>string</value> ...</syntax>
-<default>combined "..."</default>
-<context>http</context>
-
-<para>
-指定日志的格式。
-</para>
-
-<para>
-日志格式允许包含普通变量和只在日志写入时存在的变量:
-<list type="tag">
-
-<tag-name><var>$body_bytes_sent</var></tag-name>
-<tag-desc>
-发送给客户端的字节数,不包括响应头的大小;
-该变量与Apache模块<literal>mod_log_config</literal>里的“<literal>%B</literal>”参数兼容。
-</tag-desc>
-
-<tag-name><var>$bytes_sent</var></tag-name>
-<tag-desc>
-发送给客户端的总字节数。
-</tag-desc>
-
-<tag-name><var>$connection</var></tag-name>
-<tag-desc>
-连接的序列号。
-</tag-desc>
-
-<tag-name><var>$connection_requests</var></tag-name>
-<tag-desc>
-当前通过一个连接获得的请求数量。
-</tag-desc>
-
-<tag-name><var>$msec</var></tag-name>
-<tag-desc>
-日志写入时间。单位为秒,精度是毫秒。
-</tag-desc>
-
-<tag-name><var>$pipe</var></tag-name>
-<tag-desc>
-如果请求是通过HTTP流水线(pipelined)发送,pipe值为“<literal>p</literal>”,否则为“<literal>.</literal>”。
-</tag-desc>
-
-<tag-name><var>$request_length</var></tag-name>
-<tag-desc>
-请求的长度(包括请求行,请求头和请求正文)。
-</tag-desc>
-
-<tag-name><var>$request_time</var></tag-name>
-<tag-desc>
-请求处理时间,单位为秒,精度毫秒;
-从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。
-</tag-desc>
-
-<tag-name><var>$status</var></tag-name>
-<tag-desc>
-响应状态。
-</tag-desc>
-
-<tag-name><var>$time_iso8601</var></tag-name>
-<tag-desc>
-ISO8601标准格式下的本地时间。
-</tag-desc>
-
-<tag-name><var>$time_local</var></tag-name>
-<tag-desc>
-通用日志格式下的本地时间。
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-发送给客户端的响应头拥有“<literal>sent_http_</literal>”前缀。
-比如<var>$sent_http_content_range</var>。
-</para>
-
-<para>
-配置始终包含预先定义的“<literal>combined</literal>”日志格式:
-<example>
-log_format combined '$remote_addr - $remote_user [$time_local] '
-                    '"$request" $status $body_bytes_sent '
-                    '"$http_referer" "$http_user_agent"';
-</example>
-</para>
-
-</directive>
-
-
-<directive name="open_log_file_cache">
-
-<syntax>
-<literal>max</literal>=<value>N</value>
-[<literal>inactive</literal>=<value>time</value>]
-[<literal>min_uses</literal>=<value>N</value>]
-[<literal>valid</literal>=<value>time</value>]</syntax>
-<syntax><literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义一个缓存,用来存储频繁使用的文件名中包含变量的日志文件描述符。
-该指令包含以下参数:
-<list type="tag">
-
-<tag-name><literal>max</literal></tag-name>
-<tag-desc>
-设置缓存中描述符的最大数量;如果缓存被占满,最近最少使用(LRU)的描述符将被关闭。
-</tag-desc>
-
-<tag-name><literal>inactive</literal></tag-name>
-<tag-desc>
-设置缓存文件描述符在多长时间内没有被访问就关闭;
-默认为10秒。
-</tag-desc>
-
-<tag-name><literal>min_uses</literal></tag-name>
-<tag-desc>
-设置在<literal>inactive</literal>参数指定的时间里,
-最少访问多少次才能使文件描述符保留在缓存中;默认为1。
-</tag-desc>
-
-<tag-name><literal>valid</literal></tag-name>
-<tag-desc>
-设置一段用于检查超时后文件是否仍以同样名字存在的时间;
-默认为60秒。
-</tag-desc>
-
-<tag-name><literal>off</literal></tag-name>
-<tag-desc>
-禁用缓存。
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-使用实例:
-<example>
-open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;
-</example>
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_map_module.xml
+++ /dev/null
@@ -1,186 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="Module ngx_http_map_module"
-        link="/cn/docs/http/ngx_http_map_module.html"
-        lang="cn"
-        translator="yzprofile"
-        rev="1">
-
-<section id="summary">
-
-<para>
-模块 <literal>ngx_http_map_module</literal> 可以创建一些和另外变量相关联的变量。
-</para>
-
-</section>
-
-
-<section id="example" name="配置范例">
-
-<para>
-<example>
-map $http_host $name {
-    hostnames;
-
-    default       0;
-
-    example.com   1;
-    *.example.com 1;
-    example.org   2;
-    *.example.org 2;
-    .example.net  3;
-    wap.*         4;
-}
-
-map $http_user_agent $mobile {
-    default       0;
-    "~Opera Mini" 1;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="map">
-<syntax block="yes">
-    <value>string</value>
-    <value>$variable</value></syntax>
-<default/>
-<context>http</context>
-
-<para>
-在配置的参数中,第一个是要创建新的变量,它的值取决于后面一个或多个源变量。
-<note>
-在0.9.0版本之前,这里只支持一个变量。
-</note>
-</para>
-
-<para>
-在 <literal>map</literal> 块里的参数指定了源变量值和结果值的对应关系。
-</para>
-
-<para>
-源变量值可以使用字符串或者正则表达式 (0.9.6)。
-</para>
-
-<para>
-一个正则表达式如果以 “<literal>~</literal>” 开头,这个正则表达式对大小写敏感;
-若以 “<literal>~*</literal>”开头 (1.0.4),这个正则表达式对大小写不敏感。
-且正则表达式里可以包含命名捕获和位置捕获,这些变量可以跟结果变量一起被其它指令使用。
-</para>
-
-<para>
-如果源变量的值正好跟特殊参数同名(看下面),它要以 “<literal>\</literal>” 字符作为前缀。
-</para>
-
-<para>
-结果变量可以是一个字符串也可以是另外一个变量 (0.9.0)。
-</para>
-
-<para>
-这个指令也支持三个特殊参数。
-<list type="tag">
-<tag-name><literal>default</literal> <value>value</value></tag-name>
-<tag-desc>
-如果源变量值没有匹配到任何变量,则设置一个默认值作为结果。
-当没有设置 <literal>default</literal>,将会用一个空的字符串作为默认的结果。
-</tag-desc>
-
-<tag-name><literal>hostnames</literal></tag-name>
-<tag-desc>
-允许用前缀或者后缀掩码指定域名作为源变量值,举个例子,
-<example>
-*.example.com 1;
-example.*     1;
-</example>
-这两条记录
-<example>
-example.com   1;
-*.example.com 1;
-</example>
-可以被合并为:
-<example>
-.example.com  1;
-</example>
-这个参数必须写在值映射列表的最前面。
-</tag-desc>
-
-<tag-name><literal>include</literal> <value>file</value></tag-name>
-<tag-desc>
-包含一个或者多个存有映射值的文件。
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-如果源值匹配了多余一个的指定变量,例如掩码和正则同时匹配,那么将会按照下面的顺序进行优先选择:
-<list type="enum">
-
-<listitem>
-没有掩码的字符串
-</listitem>
-
-<listitem>
-最长的带前缀的字符串,例如: “<literal>*.example.com</literal>”
-</listitem>
-
-<listitem>
-最长的带后缀的字符串,例如:“<literal>mail.*</literal>”
-</listitem>
-
-<listitem>
-按顺序第一个先匹配的正则表达式 (在配置文件中体现的顺序)
-</listitem>
-
-<listitem>
-默认值
-</listitem>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="map_hash_bucket_size">
-<syntax><value>size</value></syntax>
-<default>32|64|128</default>
-<context>http</context>
-
-<para>
-为 <link id="map"/> 的变量哈稀表设置桶大小。
-默认值取决于处理器cache line的大小。
-可以从这里获取到更多参考信息:
-<link doc="../hash.xml">设置哈稀表</link>.
-</para>
-
-</directive>
-
-
-<directive name="map_hash_max_size">
-<syntax><value>size</value></syntax>
-<default>2048</default>
-<context>http</context>
-
-<para>
-设置 <link id="map"/> 变量哈稀表<value>大小</value>的上限。
-可以从这里获取到更多参考信息:
-<link doc="../hash.xml">设置哈稀表</link>.
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_proxy_module.xml
+++ /dev/null
@@ -1,1103 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_proxy_module 模块"
-        link="/cn/docs/http/ngx_http_proxy_module.html"
-        lang="cn"
-        translator="cfsego"
-        rev="1">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_proxy_module</literal> 模块允许传送请求到其它服务器。
-</para>
-
-</section>
-
-
-<section id="example" name="配置示例">
-
-<para>
-<example>
-location / {
-    proxy_pass       http://localhost:8000;
-    proxy_set_header Host      $host;
-    proxy_set_header X-Real-IP $remote_addr;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="proxy_buffer_size">
-<syntax><value>size</value></syntax>
-<default>4k|8k</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置缓冲区的大小为<value>size</value>。nginx从被代理的服务器读取响应时,使用该缓冲区保存响应的开始部分。这部分通常包含着一个小小的响应头。该缓冲区大小默认等于<link id="proxy_buffers"/>指令设置的一块缓冲区的大小,但它也可以被设置得更小。
-</para>
-
-</directive>
-
-
-<directive name="proxy_buffering">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-代理的时候,开启或关闭缓冲后端服务器的响应。
-</para>
-
-<para>
-当开启缓冲时,nginx尽可能快地从被代理的服务器接收响应,再将它存入<link id="proxy_buffer_size"/>和<link id="proxy_buffers"/>指令设置的缓冲区中。如果响应无法整个纳入内存,那么其中一部分将存入磁盘上的<link id="proxy_temp_path">临时文件</link>。<link id="proxy_max_temp_file_size"/>和<link id="proxy_temp_file_write_size"/>指令可以控制临时文件的写入。
-</para>
-
-<para>
-当关闭缓冲时,收到响应后,nginx立即将其同步传给客户端。nginx不会尝试从被代理的服务器读取整个请求,而是将<link id="proxy_buffer_size"/>指令设定的大小作为一次读取的最大长度。
-</para>
-
-<para>
-响应头<header>X-Accel-Buffering</header>传递“<literal>yes</literal>”或“<literal>no</literal>”可以动态地开启或关闭代理的缓冲功能。
-这个能力可以通过<link doc="ngx_http_proxy_module.xml" id="proxy_ignore_headers"/>指令关闭。
-</para>
-
-</directive>
-
-
-<directive name="proxy_buffers">
-<syntax><value>number</value> <value>size</value></syntax>
-<default>8 4k|8k</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-为每个连接设置缓冲区的数量为<value>number</value>,每块缓冲区的大小为<value>size</value>。这些缓冲区用于保存从被代理的服务器读取的响应。每块缓冲区默认等于一个内存页的大小。这个值是4K还是8K,取决于平台。
-</para>
-
-</directive>
-
-
-<directive name="proxy_busy_buffers_size">
-<syntax><value>size</value></syntax>
-<default>8k|16k</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-当开启<link id="proxy_buffering">缓冲</link>响应的功能以后,在没有读到全部响应的情况下,写缓冲到达一定<value>大小</value>时,nginx一定会向客户端发送响应,直到缓冲小于此值。这条指令用来设置此值。
-同时,剩余的缓冲区可以用于接收响应,如果需要,一部分内容将缓冲到临时文件。该<value>大小</value>默认是<link id="proxy_buffer_size"/>和<link id="proxy_buffers"/>指令设置单块缓冲大小的两倍。
-</para>
-
-</directive>
-
-
-<directive name="proxy_cache">
-<syntax><value>zone</value> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-指定用于页面缓存的共享内存。同一块共享内存可以在多个地方使用。<literal>off</literal>参数可以屏蔽从上层配置继承的缓存功能。
-</para>
-
-</directive>
-
-
-<directive name="proxy_cache_bypass">
-<syntax><value>string</value> ...</syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义nginx不从缓存取响应的条件。如果至少一个字符串条件非空而且非“0”,nginx就不会从缓存中去取响应:
-<example>
-proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment;
-proxy_cache_bypass $http_pragma    $http_authorization;
-</example>
-本指令可和与<link id="proxy_no_cache"/>一起使用。
-</para>
-
-</directive>
-
-
-<directive name="proxy_cache_key">
-<syntax><value>string</value></syntax>
-<default>$scheme$proxy_host$request_uri</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义如何生成缓存的键,比如
-<example>
-proxy_cache_key "$host$request_uri $cookie_user";
-</example>
-这条指令的默认值类似于下面字符串
-<example>
-proxy_cache_key $scheme$proxy_host$uri$is_args$args;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="proxy_cache_lock">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.1.12</appeared-in>
-
-<para>
-开启此功能时,对于相同的请求,同时只允许一个请求发往后端,并根据<link id="proxy_cache_key"/>指令的设置在缓存中植入一个新条目。
-其他请求相同条目的请求将一直等待,直到缓存中出现相应的内容,或者锁在<link id="proxy_cache_lock_timeout"/>指令设置的超时后被释放。
-</para>
-
-</directive>
-
-
-<directive name="proxy_cache_lock_timeout">
-<syntax><value>time</value></syntax>
-<default>5s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.1.12</appeared-in>
-
-<para>
-为<link id="proxy_cache_lock"/>指令设置锁的超时。
-</para>
-
-</directive>
-
-
-<directive name="proxy_cache_min_uses">
-<syntax><value>number</value></syntax>
-<default>1</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置响应被缓存的最小请求<value>次数</value>。
-</para>
-
-</directive>
-
-
-<directive name="proxy_cache_path">
-<syntax>
-    <value>path</value>
-    [<literal>levels</literal>=<value>levels</value>]
-    <literal>keys_zone</literal>=<value>name</value>:<value>size</value>
-    [<literal>inactive</literal>=<value>time</value>]
-    [<literal>max_size</literal>=<value>size</value>]
-    [<literal>loader_files</literal>=<value>number</value>]
-    [<literal>loader_sleep</literal>=<value>time</value>]
-    [<literal>loader_threshold</literal>=<value>time</value>]</syntax>
-<default/>
-<context>http</context>
-
-<para>
-设置缓存的路径和其他参数。缓存数据是保存在文件中的,缓存的键和文件名都是在代理URL上执行MD5的结果。
-
-<literal>levels</literal>参数定义了缓存的层次结构。比如,下面配置
-<example>
-proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;
-</example>
-缓存中文件名看起来是这样的:
-<example>
-/data/nginx/cache/<emphasis>c</emphasis>/<emphasis>29</emphasis>/b7f54b2df7773722d382f4809d650<emphasis>29c</emphasis>
-</example>
-</para>
-
-<para>
-被缓存的响应首先写入一个临时文件,然后进行重命名。从0.8.9版本开始,临时文件和缓存可以放在不同的文件系统。但请注意,这将导致文件在这两个文件系统中进行拷贝,而不是廉价的重命名操作。因此,针对任何路径,都建议将缓存和<link id="proxy_temp_path"/>指令设置的临时文件目录放在同一文件系统。
-</para>
-
-<para>
-此外,所有活动的键和缓存数据相关的信息都被存放在共享内存中。共享内存通过<literal>keys_zone</literal>参数的<value>name</value>和<value>size</value>来定义。被缓存的数据如果在<literal>inactive</literal>参数指定的时间内未被访问,就会被从缓存中移除,不论它是否是刚产生的。<literal>inactive</literal>的默认值是10分钟。
-</para>
-
-<para>
-特殊进程“cache manager”监控缓存的条目数量,如果超过<literal>max_size</literal>参数设置的最大值,使用LRU算法移除缓存数据。
-</para>
-
-<para>
-nginx新启动后不就,特殊进程“cache loader”就被启动。该进程将文件系统上保存的过去缓存的数据的相关信息重新加载到共享内存。加载过程分多次迭代完成,每次迭代,进程只加载不多于<literal>loader_files</literal>参数指定的文件数量(默认值为100)。此外,每次迭代过程的持续时间不能超过<literal>loader_threshold</literal>参数的值(默认200毫秒)。每次迭代之间,nginx的暂停时间由<literal>loader_sleep</literal>参数指定(默认50毫秒)。
-</para>
-
-</directive>
-
-
-<directive name="proxy_cache_use_stale">
-<syntax>
-    <literal>error</literal> |
-    <literal>timeout</literal> |
-    <literal>invalid_header</literal> |
-    <literal>updating</literal> |
-    <literal>http_500</literal> |
-    <literal>http_502</literal> |
-    <literal>http_503</literal> |
-    <literal>http_504</literal> |
-    <literal>http_404</literal> |
-    <literal>off</literal>
-    ...</syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-如果后端服务器出现状况,nginx是可以使用过期的响应缓存的。这条指令就是定义何种条件下允许开启此机制。这条指令的参数与<link id="proxy_next_upstream"/>指令的参数相同。
-</para>
-
-<para>
-此外,<literal>updating</literal>参数允许nginx在正在更新缓存的情况下使用过期的缓存作为响应。这样做可以使更新缓存数据时,访问源服务器的次数最少。
-</para>
-
-<para>
-在植入新的缓存条目时,如果想使访问源服务器的次数最少,可以使用<link id="proxy_cache_lock"/>指令。
-</para>
-
-</directive>
-
-
-<directive name="proxy_cache_valid">
-<syntax>[<value>code</value> ...] <value>time</value></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-为不同的响应状态码设置不同的缓存时间。比如,下面指令
-<example>
-proxy_cache_valid 200 302 10m;
-proxy_cache_valid 404      1m;
-</example>
-设置状态码为200和302的响应的缓存时间为10分钟,状态码为404的响应的缓存时间为1分钟。
-</para>
-
-<para>
-如果仅仅指定了<value>time</value>,
-<example>
-proxy_cache_valid 5m;
-</example>
-那么只有状态码为200、300和302的响应会被缓存。
-</para>
-
-<para>
-如果使用了<literal>any</literal>参数,那么就可以缓存任何响应:
-<example>
-proxy_cache_valid 200 302 10m;
-proxy_cache_valid 301      1h;
-proxy_cache_valid any      1m;
-</example>
-</para>
-
-<para>
-缓存参数也可以直接在响应头中设定。这种方式的优先级高于使用这条指令设置缓存时间。
-<header>X-Accel-Expires</header>响应头可以以秒为单位设置响应的缓存时间,如果值为0,表示禁止缓存响应,如果值以<literal>@</literal>开始,表示自1970年1月1日以来的秒数,响应一直会被缓存到这个绝对时间点。
-如果不含<header>X-Accel-Expires</header>响应头,缓存参数仍可能被<header>Expires</header>或者<header>Cache-Control</header>响应头设置。
-如果响应头含有<header>Set-Cookie</header>,响应将不能被缓存。
-这些头的处理过程可以使用指令<link id="proxy_ignore_headers"/>忽略。
-</para>
-
-</directive>
-
-
-<directive name="proxy_connect_timeout">
-<syntax><value>time</value></syntax>
-<default>60s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置与后端服务器建立连接的超时时间。应该注意这个超时一般不可能大于75秒。
-</para>
-
-</directive>
-
-
-<directive name="proxy_cookie_domain">
-<syntax><literal>off</literal></syntax>
-<syntax><value>domain</value> <value>replacement</value></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.1.15</appeared-in>
-
-<para>
-设置<header>Set-Cookie</header>响应头中的<literal>domain</literal>属性的替换文本。
-假设后端服务器返回的<header>Set-Cookie</header>响应头含有属性“<literal>domain=localhost</literal>”,那么指令
-<example>
-proxy_cookie_domain localhost example.org;
-</example>
-将这个属性改写为“<literal>domain=example.org</literal>”。
-</para>
-
-<para>
-<value>domain</value>和<value>replacement</value>配置字符串,以及<literal>domain</literal>属性中起始的点将被忽略。
-匹配过程大小写不敏感。
-</para>
-
-<para>
-<value>domain</value>和<value>replacement</value>配置字符串中可以包含变量:
-<example>
-proxy_cookie_domain www.$host $host;
-</example>
-</para>
-
-<para>
-这条指令同样可以使用正则表达式。这时,<value>domain</value>应以“<literal>~</literal>”标志开始,且可以使用命名匹配组和位置匹配组,而<value>replacement</value>可以引用这些匹配组:
-<example>
-proxy_cookie_domain ~\.(?P&lt;sl_domain&gt;[-0-9a-z]+\.[a-z]+)$ $sl_domain;
-</example>
-</para>
-
-<para>
-可以同时定义多条<literal>proxy_cookie_domain</literal>指令:
-<example>
-proxy_cookie_domain localhost example.org;
-proxy_cookie_domain ~\.([a-z]+\.[a-z]+)$ $1;
-</example>
-</para>
-
-<para>
-<literal>off</literal>参数可以取消当前配置级别的所有<literal>proxy_cookie_domain</literal>指令:
-<example>
-proxy_cookie_domain off;
-proxy_cookie_domain localhost example.org;
-proxy_cookie_domain www.example.org example.org;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="proxy_cookie_path">
-<syntax><literal>off</literal></syntax>
-<syntax><value>path</value> <value>replacement</value></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.1.15</appeared-in>
-
-<para>
-设置<header>Set-Cookie</header>响应头中的<literal>path</literal>属性的替换文本。
-假设后端服务器返回的<header>Set-Cookie</header>响应头含有属性“<literal>path=/two/some/uri/</literal>”,那么指令
-<example>
-proxy_cookie_path /two/ /;
-</example>
-将这个属性改写为“<literal>path=/some/uri/</literal>”。
-</para>
-
-<para>
-<value>path</value>和<value>replacement</value>配置字符串可以包含变量:
-<example>
-proxy_cookie_path $uri /some$uri;
-</example>
-</para>
-
-<para>
-这条指令同样可以使用正则表达式。如果使用大小写敏感的匹配,<value>path</value>应以“<literal>~</literal>”标志开始,如果使用大小写不敏感的匹配,<value>path</value>应以“<literal>~*</literal>”标志开始。<value>path</value>可以使用命名匹配组和位置匹配组,<value>replacement</value>可以引用这些匹配组:
-<example>
-proxy_cookie_path ~*^/user/([^/]+) /u/$1;
-</example>
-</para>
-
-<para>
-可以同时定义多条<literal>proxy_cookie_path</literal>指令:
-<example>
-proxy_cookie_path /one/ /;
-proxy_cookie_path / /two/;
-</example>
-</para>
-
-<para>
-<literal>off</literal>参数可以取消当前配置级别的所有<literal>proxy_cookie_path</literal>指令:
-<example>
-proxy_cookie_path off;
-proxy_cookie_path /two/ /;
-proxy_cookie_path ~*^/user/([^/]+) /u/$1;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="proxy_hide_header">
-<syntax><value>field</value></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-nginx默认不会将<header>Date</header>、<header>Server</header>、<header>X-Pad</header>,和<header>X-Accel-...</header>响应头发送给客户端。<literal>proxy_hide_header</literal>指令则可以设置额外的响应头,这些响应头也不会发送给客户端。相反的,如果希望允许传递某些响应头给客户端,可以使用<link id="proxy_pass_header"/>指令。
-</para>
-
-</directive>
-
-
-<directive name="proxy_http_version">
-<syntax><literal>1.0</literal> | <literal>1.1</literal></syntax>
-<default>1.0</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.1.4</appeared-in>
-
-<para>
-设置代理使用的HTTP协议版本。默认使用的版本是1.0,而1.1版本则推荐在使用<link doc="ngx_http_upstream_module.xml" id="keepalive"/>连接时一起使用。
-</para>
-
-</directive>
-
-
-<directive name="proxy_ignore_client_abort">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-决定当客户端在响应传输完成前就关闭连接时,nginx是否应关闭后端连接。
-</para>
-
-</directive>
-
-
-<directive name="proxy_ignore_headers">
-<syntax><value>field</value> ...</syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-不处理后端服务器返回的指定响应头。下面的响应头可以被设置:
-<header>X-Accel-Redirect</header>,<header>X-Accel-Expires</header>,<header>X-Accel-Limit-Rate</header> (1.1.6),<header>X-Accel-Buffering</header> (1.1.6),
-<header>X-Accel-Charset</header> (1.1.6),<header>Expires</header>,<header>Cache-Control</header>,和<header>Set-Cookie</header> (0.8.44)。
-</para>
-
-<para>
-如果不被取消,这些头部的处理可能产生下面结果:
-<list type="bullet" compact="no">
-
-<listitem>
-<header>X-Accel-Expires</header>,<header>Expires</header>,<header>Cache-Control</header>,和<header>Set-Cookie</header>
-设置响应<link id="proxy_cache_valid">缓存</link>的参数;
-</listitem>
-
-<listitem>
-<header>X-Accel-Redirect</header>执行到指定URI的<link doc="ngx_http_core_module.xml" id="internal">内部跳转</link>;
-</listitem>
-
-<listitem>
-<header>X-Accel-Limit-Rate</header>设置响应到客户端的传输<link doc="ngx_http_core_module.xml" id="limit_rate">速率限制</link>;
-</listitem>
-
-<listitem>
-<header>X-Accel-Buffering</header>启动或者关闭响应<link id="proxy_buffering">缓冲</link>;
-</listitem>
-
-<listitem>
-<header>X-Accel-Charset</header>设置响应所需的<link doc="ngx_http_charset_module.xml" id="charset">字符集</link>。
-</listitem>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="proxy_intercept_errors">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-当后端服务器的响应状态码大于等于400时,决定是否直接将响应发送给客户端,亦或将响应转发给nginx由<link doc="ngx_http_core_module.xml" id="error_page"/>指令来处理。
-</para>
-
-</directive>
-
-
-<directive name="proxy_max_temp_file_size">
-<syntax><value>size</value></syntax>
-<default>1024m</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-打开响应<link id="proxy_buffering">缓冲</link>以后,如果整个响应不能存放在<link id="proxy_buffer_size"/>和<link id="proxy_buffers"/>指令设置的缓冲区内,部分响应可以存放在临时文件中。
-这条指令可以设置临时文件的最大<value>容量</value>。而每次写入临时文件的数据量则由<link id="proxy_temp_file_write_size"/>指令定义。
-</para>
-
-<para>
-将此值设置为0将禁止响应写入临时文件。
-</para>
-
-</directive>
-
-
-<directive name="proxy_next_upstream">
-<syntax>
-    <literal>error</literal> |
-    <literal>timeout</literal> |
-    <literal>invalid_header</literal> |
-    <literal>http_500</literal> |
-    <literal>http_502</literal> |
-    <literal>http_503</literal> |
-    <literal>http_504</literal> |
-    <literal>http_404</literal> |
-    <literal>off</literal>
-    ...</syntax>
-<default>error timeout</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-指定在何种情况下一个失败的请求应该被发送到下一台后端服务器:
-<list type="tag">
-
-<tag-name><literal>error</literal></tag-name>
-<tag-desc>和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器接收响应头时,出现错误;</tag-desc>
-
-<tag-name><literal>timeout</literal></tag-name>
-<tag-desc>和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器接收响应头时,出现超时;</tag-desc>
-
-<tag-name><literal>invalid_header</literal></tag-name>
-<tag-desc>后端服务器返回空响应或者非法响应头;</tag-desc>
-
-<tag-name><literal>http_500</literal></tag-name>
-<tag-desc>后端服务器返回的响应状态码为500;</tag-desc>
-
-<tag-name><literal>http_502</literal></tag-name>
-<tag-desc>后端服务器返回的响应状态码为502;</tag-desc>
-
-<tag-name><literal>http_503</literal></tag-name>
-<tag-desc>后端服务器返回的响应状态码为503;</tag-desc>
-
-<tag-name><literal>http_504</literal></tag-name>
-<tag-desc>后端服务器返回的响应状态码为504;</tag-desc>
-
-<tag-name><literal>http_404</literal></tag-name>
-<tag-desc>后端服务器返回的响应状态码为404;</tag-desc>
-
-<tag-name><literal>off</literal></tag-name>
-<tag-desc>停止将请求发送给下一台后端服务器。</tag-desc>
-
-</list>
-</para>
-
-<para>
-需要理解一点的是,只有在没有向客户端发送任何数据以前,将请求转给下一台后端服务器才是可行的。也就是说,如果在传输响应到客户端时出现错误或者超时,这类错误是不可能恢复的。
-</para>
-
-</directive>
-
-
-<directive name="proxy_no_cache">
-<syntax><value>string</value> ...</syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义nginx不将响应写入缓存的条件。如果至少一个字符串条件非空而且非“0”,nginx就不将响应存入缓存:
-<example>
-proxy_no_cache $cookie_nocache $arg_nocache$arg_comment;
-proxy_no_cache $http_pragma    $http_authorization;
-</example>
-这条指令可以和<link id="proxy_cache_bypass"/>指令一起使用。
-</para>
-
-</directive>
-
-
-<directive name="proxy_pass">
-<syntax><value>URL</value></syntax>
-<default/>
-<context>location</context>
-<context>if in location</context>
-<context>limit_except</context>
-
-<para>
-设置后端服务器的协议和地址,还可以设置可选的URI以定义本地路径和后端服务器的映射关系。
-这条指令可以设置的协议是“<literal>http</literal>”或者“<literal>https</literal>”,而地址既可以使用域名或者IP地址加端口(可选)的形式来定义:
-<example>
-proxy_pass http://localhost:8000/uri/;
-</example>
-又可以使用UNIX域套接字路径来定义。该路径接在“<literal>unix</literal>”字符串后面,两端由冒号所包围,比如:
-<example>
-proxy_pass http://unix:/tmp/backend.socket:/uri/;
-</example>
-</para>
-
-<para>
-如果解析一个域名得到多个地址,所有的地址都会以轮转的方式被使用。当然,也可以使用<link doc="ngx_http_upstream_module.xml">服务器组</link>来定义地址。
-</para>
-
-<para>
-请求URI按下面规则传送给后端服务器:
-<list type="bullet" compact="no">
-
-<listitem>
-如果<literal>proxy_pass</literal>使用了URI,当传送请求到后端服务器时,<link doc="ngx_http_core_module.xml" id="location">规范化</link>以后的请求路径与配置中的路径的匹配部分将被替换为指令中定义的URI:
-<example>
-location /name/ {
-    proxy_pass http://127.0.0.1/remote/;
-}
-</example>
-</listitem>
-
-<listitem>
-如果<literal>proxy_pass</literal>没有使用URI,传送到后端服务器的请求URI一般客户端发起的原始URI,如果nginx改变了请求URI,则传送的URI是nginx改变以后完整的规范化URI:
-<example>
-location /some/path/ {
-    proxy_pass http://127.0.0.1;
-}
-</example>
-<note>
-在1.1.12版以前,如果<literal>proxy_pass</literal>没有使用URI,某些情况下,nginx改变URI以后,会错误地将原始URI而不是改变以后的URI发送到后端服务器。
-</note>
-</listitem>
-</list>
-</para>
-
-<para>
-某些情况下,无法确定请求URI中应该被替换的部分:
-<list type="bullet" compact="no">
-
-<listitem>
-使用正则表达式定义路径。
-<para>
-这种情况下,指令不应该使用URI。
-</para>
-</listitem>
-
-<listitem>
-在需要代理的路径中,使用<link doc="ngx_http_rewrite_module.xml" id="rewrite"/>指令改变了URI,但仍使用相同配置处理请求(<literal>break</literal>):
-<example>
-location /name/ {
-    rewrite    /name/([^/]+) /users?name=$1 break;
-    proxy_pass http://127.0.0.1;
-}
-</example>
-<para>
-这种情况下,本指令设置的URI会被忽略,改变后的URI将被发送给后端服务器。
-</para>
-</listitem>
-</list>
-</para>
-
-<para>
-后端服务器的地址,端口和URI中都可以使用变量:
-<example>
-proxy_pass http://$host$uri;
-</example>
-甚至像这样:
-<example>
-proxy_pass $request;
-</example>
-</para>
-
-<para>
-这种情况下,后端服务器的地址将会在定义的<link doc="ngx_http_upstream_module.xml">服务器组</link>中查找。如果查找不到,nginx使用<link doc="ngx_http_core_module.xml" id="resolver"/>来查找该地址。
-</para>
-
-</directive>
-
-
-<directive name="proxy_pass_header">
-<syntax><value>field</value></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-允许传送<link id="proxy_hide_header">被屏蔽</link>的后端服务器响应头到客户端。
-</para>
-
-</directive>
-
-
-<directive name="proxy_read_timeout">
-<syntax><value>time</value></syntax>
-<default>60s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义从后端服务器读取响应的超时。此超时是指相邻两次读操作之间的最长时间间隔,而不是整个响应传输完成的最长时间。如果后端服务器在超时时间段内没有传输任何数据,连接将被关闭。
-</para>
-
-</directive>
-
-
-<directive name="proxy_redirect">
-<syntax><literal>default</literal></syntax>
-<syntax><literal>off</literal></syntax>
-<syntax><value>redirect</value> <value>replacement</value></syntax>
-<default>default</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置后端服务器<header>Location</header>响应头和<header>Refresh</header>响应头的替换文本。
-假设后端服务器返回的响应头是
-“<literal>Location: http://localhost:8000/two/some/uri/</literal>”,那么指令
-<example>
-proxy_redirect http://localhost:8000/two/ http://frontend/one/;
-</example>
-将把字符串改写为
-“<literal>Location: http://frontend/one/some/uri/</literal>”。
-</para>
-
-<para>
-<value>replacement</value>字符串可以省略服务器名:
-<example>
-proxy_redirect http://localhost:8000/two/ /;
-</example>
-此时将使用代理服务器的主域名和端口号来替换。如果端口是80,可以不加。
-</para>
-
-<para>
-用<literal>default</literal>参数指定的默认替换使用了<link doc="ngx_http_core_module.xml" id="location"/>和<link id="proxy_pass"/>指令的参数。因此,下面两例配置等价:
-<example>
-location /one/ {
-    proxy_pass     http://upstream:port/two/;
-    proxy_redirect default;
-</example>
-
-<example>
-location /one/ {
-    proxy_pass     http://upstream:port/two/;
-    proxy_redirect http://upstream:port/two/ /one/;
-</example>
-而且因为同样的原因,<link id="proxy_pass"/>指令使用变量时,不允许本指令使用<literal>default</literal>参数。
-</para>
-
-<para>
-<value>replacement</value>字符串可以包含变量:
-<example>
-proxy_redirect http://localhost:8000/ http://$host:$server_port/;
-</example>
-</para>
-
-<para>
-而<value>redirect</value>字符串从1.1.11版本开始也可以包含变量:
-<example>
-proxy_redirect http://$proxy_host:8000/ /;
-</example>
-</para>
-
-<para>
-同时,从1.1.11版本开始,指令支持正则表达式。使用正则表达式的话,如果是大小写敏感的匹配,<value>redirect</value>以“<literal>~</literal>”作为开始,如果是大小写不敏感的匹配,<value>redirect</value>以“<literal>~*</literal>”作为开始。而且<value>redirect</value>的正则表达式中可以包含命名匹配组和位置匹配组,而在<value>replacement</value>中可以引用这些匹配组的值:
-<example>
-proxy_redirect ~^(http://[^:]+):\d+(/.+)$ $1$2;
-proxy_redirect ~*/user/([^/]+)/(.+)$      http://$1.example.com/$2;
-</example>
-</para>
-
-<para>
-除此以外,可以同时定义多个<literal>proxy_redirect</literal>指令:
-<example>
-proxy_redirect default;
-proxy_redirect http://localhost:8000/  /;
-proxy_redirect http://www.example.com/ /;
-</example>
-</para>
-
-<para>
-另外,<literal>off</literal>参数可以使所有相同配置级别的<literal>proxy_redirect</literal>指令无效:
-<example>
-proxy_redirect off;
-proxy_redirect default;
-proxy_redirect http://localhost:8000/  /;
-proxy_redirect http://www.example.com/ /;
-</example>
-</para>
-
-<para>
-最后,使用这条指令也可以为地址为相对地址的重定向添加域名:
-<example>
-proxy_redirect / /;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="proxy_send_timeout">
-<syntax><value>time</value></syntax>
-<default>60s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义向后端服务器传输请求的超时。此超时是指相邻两次写操作之间的最长时间间隔,而不是整个请求传输完成的最长时间。如果后端服务器在超时时间段内没有接收到任何数据,连接将被关闭。
-</para>
-
-</directive>
-
-
-<directive name="proxy_set_header">
-<syntax><value>field</value> <value>value</value></syntax>
-<default>Host $proxy_host</default>
-<default>Connection close</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-允许重新定义或者添加发往后端服务器的请求头。<value>value</value>可以包含文本、变量或者它们的组合。
-当且仅当当前配置级别中没有定义<literal>proxy_set_header</literal>指令时,会从上面的级别继承配置。
-默认情况下,只有两个请求头会被重新定义:
-<example>
-proxy_set_header Host       $proxy_host;
-proxy_set_header Connection close;
-</example>
-</para>
-
-<para>
-如果不想改变请求头<header>Host</header>的值,可以这样来设置:
-<example>
-proxy_set_header Host       $http_host;
-</example>
-</para>
-
-<para>
-但是,如果客户端请求头中没有携带这个头部,那么传递到后端服务器的请求也不含这个头部。
-这种情况下,更好的方式是使用<var>$host</var>变量——它的值在请求包含<header>Host</header>请求头时为<header>Host</header>字段的值,在请求未携带<header>Host</header>请求头时为虚拟主机的主域名:
-<example>
-proxy_set_header Host       $host;
-</example>
-</para>
-
-<para>
-此外,服务器名可以和后端服务器的端口一起传送:
-<example>
-proxy_set_header Host       $host:$proxy_port;
-</example>
-</para>
-
-<para>
-如果某个请求头的值为空,那么这个请求头将不会传送给后端服务器:
-<example>
-proxy_set_header Accept-Encoding "";
-</example>
-</para>
-
-</directive>
-
-
-<directive name="proxy_ssl_session_reuse">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-决定是否重用与后端服务器的SSL会话。如果日志中出现“<literal>SSL3_GET_FINISHED:digest check failed</literal>”错误,请尝试关闭会话重用。
-</para>
-
-</directive>
-
-
-<directive name="proxy_store">
-<syntax>
-    <literal>on</literal> |
-    <literal>off</literal> |
-    <value>string</value></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-开启将文件保存到磁盘上的功能。如果设置为<literal>on</literal>,nginx将文件保存在<link doc="ngx_http_core_module.xml" id="alias"/>指令或<link doc="ngx_http_core_module.xml" id="root"/>指令设置的路径中。如果设置为<literal>off</literal>,nginx将关闭文件保存的功能。此外,保存的文件名也可以使用含变量的<value>string</value>参数来指定:
-<example>
-proxy_store /data/www$original_uri;
-</example>
-</para>
-
-<para>
-保存文件的修改时间根据接收到的<header>Last-Modified</header>响应头来设置。响应都是先写到临时文件,然后进行重命名来生成的。从0.8.9版本开始,临时文件和持久化存储可以放在不同的文件系统,但是需要注意这时文件执行的是在两个文件系统间拷贝操作,而不是廉价的重命名操作。因此建议保存文件的路径和<link id="proxy_temp_path"/>指令设置的临时文件的路径在同一个文件系统中。
-</para>
-
-<para>
-这条指令可以用于创建静态无更改文件的本地拷贝,比如:
-<example>
-location /images/ {
-    root                   /data/www;
-    open_file_cache_errors off;
-    error_page             404 = /fetch$uri;
-}
-
-location /fetch/ {
-    internal;
-
-    proxy_pass             http://backend/;
-    proxy_store            on;
-    proxy_store_access     user:rw group:rw all:r;
-    proxy_temp_path        /data/temp;
-
-    alias                  /data/www/;
-}
-</example>
-</para>
-
-<para>
-或者像这样:
-<example>
-location /images/ {
-    root               /data/www;
-    error_page         404 = @fetch;
-}
-
-location @fetch {
-    internal;
-
-    proxy_pass         http://backend;
-    proxy_store        on;
-    proxy_store_access user:rw group:rw all:r;
-    proxy_temp_path    /data/temp;
-
-    root               /data/www;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="proxy_store_access">
-<syntax><value>users</value>:<value>permissions</value> ...</syntax>
-<default>user:rw</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-设置新创建的文件和目录的访问权限,比如:
-<example>
-proxy_store_access user:rw group:rw all:r;
-</example>
-</para>
-
-<para>
-如果指定了任何<literal>group</literal>或者<literal>all</literal>的访问权限,那么可以略去<literal>user</literal>的访问权限:
-<example>
-proxy_store_access group:rw all:r;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="proxy_temp_file_write_size">
-<syntax><value>size</value></syntax>
-<default>8k|16k</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-在开启缓冲后端服务器响应到临时文件的功能后,设置nginx每次写数据到临时文件的<value>size(大小)</value>限制。
-<value>size</value>的默认值是<link id="proxy_buffer_size"/>指令和<link id="proxy_buffers"/>指令定义的每块缓冲区大小的两倍,
-而临时文件最大容量由<link id="proxy_max_temp_file_size"/>指令设置。
-</para>
-
-</directive>
-
-
-<directive name="proxy_temp_path">
-<syntax>
-    <value>path</value>
-    [<value>level1</value>
-    [<value>level2</value>
-    [<value>level3</value>]]]</syntax>
-<default>proxy_temp</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-定义从后端服务器接收的临时文件的存放路径,可以为临时文件路径定义至多三层子目录的目录树。
-比如,下面配置
-<example>
-proxy_temp_path /spool/nginx/proxy_temp 1 2;
-</example>
-那么临时文件的路径看起来会是这样:
-<example>
-/spool/nginx/proxy_temp/<emphasis>7</emphasis>/<emphasis>45</emphasis>/00000123<emphasis>457</emphasis>
-</example>
-</para>
-
-</directive>
-
-</section>
-
-
-<section id="variables" name="内嵌变量">
-
-<para>
-<literal>ngx_http_proxy_module</literal>支持内嵌变量,可以用于在<link id="proxy_set_header"/>指令中构造请求头:
-<list type="tag">
-
-<tag-name><var>$proxy_host</var></tag-name>
-<tag-desc>后端服务器的主机名和端口;</tag-desc>
-
-<tag-name><var>$proxy_port</var></tag-name>
-<tag-desc>后端服务器的端口;</tag-desc>
-
-<tag-name><var>$proxy_add_x_forwarded_for</var></tag-name>
-<tag-desc>将<var>$remote_addr</var>变量值添加在客户端<header>X-Forwarded-For</header>请求头的后面,并以逗号分隔。
-如果客户端请求未携带<header>X-Forwarded-For</header>请求头,<var>$proxy_add_x_forwarded_for</var>变量值将与<var>$remote_addr</var>变量相同。</tag-desc>
-</list>
-</para>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_referer_module.xml
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_referer_module模块"
-        link="/cn/docs/http/ngx_http_referer_module.html"
-        lang="cn"
-        translator="nigelzeng"
-        rev="1">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_referer_module</literal>模块允许拦截<header>Referer</header>请求头中含有非法值的请求,阻止它们访问站点。
-需要注意的是伪造一个有效的<header>Referer</header>请求头是相当容易的,
-因此这个模块的预期目的不在于彻底地阻止这些非法请求,而是为了阻止由正常浏览器发出的大规模此类请求。
-还有一点需要注意,即使正常浏览器发送的合法请求,也可能没有<header>Referer</header>请求头。
-</para>
-
-</section>
-
-
-<section id="example" name="配置实例">
-
-<para>
-<example>
-valid_referers none blocked server_names
-               *.example.com example.* www.example.org/galleries/
-               ~\.google\.;
-
-if ($invalid_referer) {
-    return 403;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="referer_hash_bucket_size">
-<syntax><value>size</value></syntax>
-<default>64</default>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.0.5</appeared-in>
-
-<para>
-设置用来存储有效referer的哈希表的表项长度。
-详细的情况参见<link doc="../hash.xml">哈希表设置</link>。
-</para>
-
-</directive>
-
-
-<directive name="referer_hash_max_size">
-<syntax><value>size</value></syntax>
-<default>2048</default>
-<context>server</context>
-<context>location</context>
-<appeared-in>1.0.5</appeared-in>
-
-<para>
-设置用来存储有效referer的哈希表最大<value>桶容量</value>。
-详细的情况参见<link doc="../hash.xml">哈希表设置</link>。
-</para>
-
-</directive>
-
-
-<directive name="valid_referers">
-<syntax>
-    <literal>none</literal> |
-    <literal>blocked</literal> |
-    <literal>server_names</literal> |
-    <value>string</value>
-    ...</syntax>
-<default/>
-<context>server</context>
-<context>location</context>
-
-<para>
-<header>Referer</header>请求头为指定值时,内嵌变量<var>$invalid_referer</var>被设置为空字符串,
-否则这个变量会被置成“<literal>1</literal>”。查找匹配时不区分大小写。
-</para>
-
-<para>
-该指令的参数可以为下面的内容:
-<list type="tag">
-
-<tag-name><literal>none</literal></tag-name>
-<tag-desc>
-缺少<header>Referer</header>请求头;
-</tag-desc>
-
-<tag-name><literal>blocked</literal></tag-name>
-<tag-desc>
-<header>Referer</header> 请求头存在,但是它的值被防火墙或者代理服务器删除;
-这些值都不以“<literal>http://</literal>” 或者 “<literal>https://</literal>”字符串作为开头;
-</tag-desc>
-
-<tag-name><literal>server_names</literal></tag-name>
-<tag-desc>
-<header>Referer</header> 请求头包含某个虚拟主机名;
-</tag-desc>
-
-<tag-name>任意字符串</tag-name>
-<tag-desc>
-定义一个服务器名和可选的URI前缀。服务器名允许在开头或结尾使用“<literal>*</literal>”符号。
-当nginx检查时,<header>Referer</header>请求头里的服务器端口将被忽略。
-</tag-desc>
-
-<tag-name>正则表达式</tag-name>
-<tag-desc>
-必须以“<literal>~</literal>”符号作为开头。
-需要注意的是表达式会从“<literal>http://</literal>”或者“<literal>https://</literal>”之后的文本开始匹配。
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-实例:
-<example>
-valid_referers none blocked server_names
-               *.example.com example.* www.example.org/galleries/
-               ~\.google\.;
-</example>
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_rewrite_module.xml
+++ /dev/null
@@ -1,374 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_rewrite_module模块"
-        link="/cn/docs/http/ngx_http_rewrite_module.html"
-        lang="cn"
-        translator="cfsego"
-        rev="2">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_rewrite_module</literal>模块允许正则替换URI,返回页面重定向,和按条件选择配置。
-</para>
-
-<para>
-<literal>ngx_http_rewrite_module</literal>模块指令按以下顺序处理:
-<list type="bullet">
-
-<listitem>
-处理在<link doc="ngx_http_core_module.xml" id="server"/>级别中定义的模块指令;
-</listitem>
-
-<listitem>
-为请求查找location;
-</listitem>
-
-<listitem>
-处理在选中的<link doc="ngx_http_core_module.xml" id="location"/>中定义的模块指令。如果指令改变了URI,按新的URI查找location。这个循环至多重复<link doc="ngx_http_core_module.xml" id="internal">10次</link>,之后nginx返回错误<http-status code="500" text="Internal Server Error"/>。
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="break">
-<syntax/>
-<default/>
-<context>server</context>
-<context>location</context>
-<context>if</context>
-
-<para>
-停止处理当前这一轮的<literal>ngx_http_rewrite_module</literal>指令集。
-</para>
-
-<para>
-举例:
-<example>
-if ($slow) {
-    limit_rate 10k;
-    break;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="if">
-<syntax block="yes">(<value>condition</value>)</syntax>
-<default/>
-<context>server</context>
-<context>location</context>
-
-<para>
-计算指定的<value>condition</value>的值。如果为真,执行定义在大括号中的rewrite模块指令,并将<literal>if</literal>指令中的配置指定给请求。<literal>if</literal>指令会从上一层配置中继承配置。
-</para>
-
-<para>
-条件可以是下列任意一种:
-<list type="bullet">
-
-<listitem>
-变量名;如果变量值为空或者是以“<literal>0</literal>”开始的字符串,则条件为假;
-</listitem>
-
-<listitem>
-使用“<literal>=</literal>”和“<literal>!=</literal>”运算符比较变量和字符串;
-</listitem>
-
-<listitem>
-使用“<literal>~</literal>”(大小写敏感)和“<literal>~*</literal>”(大小写不敏感)运算符匹配变量和正则表达式。正则表达式可以包含匹配组,匹配结果后续可以使用变量<var>$1</var>..<var>$9</var>引用。如果正则表达式中包含字符“<literal>}</literal>”或者“<literal>;</literal>”,整个表达式应该被包含在单引号或双引号的引用中。
-</listitem>
-
-<listitem>
-使用“<literal>-f</literal>”和“<literal>!-f</literal>”运算符检查文件是否存在;
-</listitem>
-
-<listitem>
-使用“<literal>-d</literal>”和“<literal>!-d</literal>”运算符检查目录是否存在;
-</listitem>
-
-<listitem>
-使用“<literal>-e</literal>”和“<literal>!-e</literal>”运算符检查文件、目录或符号链接是否存在;
-</listitem>
-
-<listitem>
-使用“<literal>-x</literal>”和“<literal>!-x</literal>”运算符检查可执行文件;
-</listitem>
-
-</list>
-</para>
-
-<para>
-举例:
-<example>
-if ($http_user_agent ~ MSIE) {
-    rewrite ^(.*)$ /msie/$1 break;
-}
-
-if ($http_cookie ~* "id=([^;]+)(?:;|$)") {
-    set $id $1;
-}
-
-if ($request_method = POST) {
-    return 405;
-}
-
-if ($slow) {
-    limit_rate 10k;
-}
-
-if ($invalid_referer) {
-    return 403;
-}
-</example>
-<note>
-内嵌变量<var>$invalid_referer</var>的值是通过<link doc="ngx_http_referer_module.xml" id="valid_referers"/>指令设置的。
-</note>
-</para>
-
-</directive>
-
-
-<directive name="return">
-<syntax><value>code</value> [<value>text</value>]</syntax>
-<syntax><value>code</value> <value>URL</value></syntax>
-<syntax><value>URL</value></syntax>
-<default/>
-<context>server</context>
-<context>location</context>
-<context>if</context>
-
-<para>
-停止处理并返回指定<value>code</value>给客户端。返回非标准的状态码444可以直接关闭连接而不返回响应头。
-</para>
-
-<para>
-从0.8.42版开始,可以在指令中指定重定向的URL(状态码为301、302、303和307),或者指定响应体<value>文本</value>(状态码为其它值)。响应体文本或重定向URL中可以包含变量。作为一种特殊情况,重定向URL可以简化为当前server的本地URI,那么完整的重定向URL将按照请求协议(<var>$scheme</var>)、<link doc="ngx_http_core_module.xml" id="server_name_in_redirect"/>指令和<link doc="ngx_http_core_module.xml" id="port_in_redirect"/>指令的配置进行补全。
-</para>
-
-<para>
-另外,状态码为302的临时重定向使用的<value>URL</value>可以作为指令的唯一参数。该参数应该以“<literal>http://</literal>”、“<literal>https://</literal>”或者“<literal>https://</literal>”开始。<value>URL</value>中可以包含变量。
-</para>
-
-<para>
-<note>
-0.7.51版本以前只能返回下面状态码:
-204、400、402 — 406、408、410、411、413、416 和 500 — 504。
-</note>
-
-<note>
-直到1.1.16和1.0.13版,状态码307才被认为是一种重定向。
-</note>
-</para>
-
-</directive>
-
-
-<directive name="rewrite">
-<syntax>
-    <value>regex</value>
-    <value>replacement</value>
-    [<value>flag</value>]</syntax>
-<default/>
-<context>server</context>
-<context>location</context>
-<context>if</context>
-
-<para>
-如果指定的正则表达式能匹配URI,此URI将被<value>replacement</value>参数定义的字符串改写。<literal>rewrite</literal>指令按其在配置文件中出现的顺序执行。flag可以终止后续指令的执行。如果replacement的字符串以“<literal>http://</literal>”或“<literal>https://</literal>”开头,nginx将结束执行过程,并返回给客户端一个重定向。
-</para>
-
-<para>
-可选的<value>flag</value>参数可以是其中之一:
-<list type="tag">
-
-<tag-name><literal>last</literal></tag-name>
-<tag-desc>
-停止执行当前这一轮的<literal>ngx_http_rewrite_module</literal>指令集,然后查找匹配改变后URI的新location;
-</tag-desc>
-
-<tag-name><literal>break</literal></tag-name>
-<tag-desc>
-停止执行当前这一轮的<literal>ngx_http_rewrite_module</literal>指令集;
-</tag-desc>
-
-<tag-name><literal>redirect</literal></tag-name>
-<tag-desc>
-在replacement字符串未以“<literal>http://</literal>”或“<literal>https://</literal>”开头时,使用返回状态码为302的临时重定向;
-</tag-desc>
-
-<tag-name><literal>permanent</literal></tag-name>
-<tag-desc>
-返回状态码为301的永久重定向。
-</tag-desc>
-
-</list>
-完整的重定向URL将按照请求协议(<var>$scheme</var>)、<link doc="ngx_http_core_module.xml" id="server_name_in_redirect"/>指令和<link doc="ngx_http_core_module.xml" id="port_in_redirect"/>指令的配置进行补全。
-</para>
-
-<para>
-举例:
-<example>
-server {
-    ...
-    rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;
-    rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra  last;
-    return  403;
-    ...
-}
-</example>
-</para>
-
-<para>
-但是当上述指令写在“<literal>/download/</literal>”的location中时,应使用标志<literal>break</literal>代替<literal>last</literal>,否则nginx会重复10轮循环,然后返回错误500:
-<example>
-location /download/ {
-    rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break;
-    rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra  break;
-    return  403;
-}
-</example>
-</para>
-
-<para>
-如果<value>replacement</value>字符串包括新的请求参数,以往的请求参数会添加到新参数后面。如果不希望这样,在replacement字符串末尾加一个问号“?”,就可以避免,比如:
-<example>
-rewrite ^/users/(.*)$ /show?user=$1? last;
-</example>
-</para>
-
-<para>
-如果正则表达式中包含字符“<literal>}</literal>”或者“<literal>;</literal>”,整个表达式应该被包含在单引号或双引号的引用中。
-</para>
-
-</directive>
-
-
-<directive name="rewrite_log">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if</context>
-
-<para>
-开启或者关闭将<literal>ngx_http_rewrite_module</literal>模块指令的处理日志以<literal>notice</literal>级别记录到错误日志中。
-</para>
-
-</directive>
-
-
-<directive name="set">
-<syntax><value>variable</value> <value>value</value></syntax>
-<default/>
-<context>server</context>
-<context>location</context>
-<context>if</context>
-
-<para>
-为指定变量<value>variable</value>设置变量值<value>value</value>。<value>value</value>可以包含文本、变量或者它们的组合。
-</para>
-
-</directive>
-
-
-<directive name="uninitialized_variable_warn">
-<syntax><literal>on</literal> | <literal>off</literal></syntax>
-<default>on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if</context>
-
-<para>
-控制是否记录变量未初始化的警告到日志。
-</para>
-
-</directive>
-
-</section>
-
-
-<section id="internals" name="内部实现">
-
-<para>
-<literal>ngx_http_rewrite_module</literal>模块的指令在解析配置阶段被编译成nginx内部指令。这些内部指令在处理请求时被解释执行。而解释器是一个简单的堆栈机器。
-</para>
-
-<para>
-比如,下面指令
-<example>
-location /download/ {
-    if ($forbidden) {
-        return 403;
-    }
-
-    if ($slow) {
-        limit_rate 10k;
-    }
-
-    rewrite ^/(download/.*)/media/(.*)\..*$ /$1/mp3/$2.mp3 break;
-}
-</example>
-将被翻译成下面这些指令:
-<example>
-variable $forbidden
-check against zero
-    return 403
-    end of code
-variable $slow
-check against zero
-match of regular expression
-copy "/"
-copy $1
-copy "/mp3/"
-copy $2
-copy ".mp3"
-end of regular expression
-end of code
-</example>
-</para>
-
-<para>
-请注意没有对应上面的<link doc="ngx_http_core_module.xml" id="limit_rate"/>指令的内部指令,因为这个指令与<literal>ngx_http_rewrite_module</literal>模块无关。nginx会为这个<link id="if"/>块单独创建一个配置,包含<literal>limit_rate</literal>等于10k。如果条件为真,nginx将把这个配置指派给请求。
-</para>
-
-<para>
-指令
-<example>
-rewrite ^/(download/.*)/media/(.*)\..*$ /$1/mp3/$2.mp3 break;
-</example>
-可以通过将正则表达式中的第一个斜线“/”放入圆括号,来实现节约一个内部指令:
-<example>
-rewrite ^(<emphasis>/</emphasis>download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break;
-</example>
-对应的内部指令将会是这样:
-<example>
-match of regular expression
-copy $1
-copy "/mp3/"
-copy $2
-copy ".mp3"
-end of regular expression
-end of code
-</example>
-</para>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/ngx_http_upstream_module.xml
+++ /dev/null
@@ -1,366 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
-
-<module name="ngx_http_upstream_module模块"
-        link="/cn/docs/http/ngx_http_upstream_module.html"
-        lang="cn"
-        translator="Weibin Yao"
-        rev="1">
-
-<section id="summary">
-
-<para>
-<literal>ngx_http_upstream_module</literal>模块
-允许定义一组服务器。它们可以在指令<link doc="ngx_http_proxy_module.xml" id="proxy_pass"/>、
-<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_pass"/>和
-<link doc="ngx_http_memcached_module.xml" id="memcached_pass"/>中被引用到。
-</para>
-
-</section>
-
-
-<section id="example" name="配置例子">
-
-<para>
-<example>
-upstream <emphasis>backend</emphasis> {
-    server backend1.example.com       weight=5;
-    server backend2.example.com:8080;
-    server unix:/tmp/backend3;
-
-    server backup1.example.com:8080   backup;
-    server backup2.example.com:8080   backup;
-}
-
-server {
-    location / {
-        proxy_pass http://<emphasis>backend</emphasis>;
-    }
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="指令">
-
-<directive name="upstream">
-<syntax block="yes"><value>name</value></syntax>
-<default/>
-<context>http</context>
-
-<para>
-定义一组服务器。
-这些服务器可以监听不同的端口。
-而且,监听在TCP和UNIX域套接字的服务器可以混用。
-</para>
-
-<para>
-例子:
-<example>
-upstream backend {
-    server backend1.example.com weight=5;
-    server 127.0.0.1:8080       max_fails=3 fail_timeout=30s;
-    server unix:/tmp/backend3;
-}
-</example>
-</para>
-
-<para>
-默认情况下,nginx按加权轮转的方式将请求分发到各服务器。
-在上面的例子中,每7个请求会通过以下方式分发:
-5个请求分到<literal>backend1.example.com</literal>,
-一个请求分到第二个服务器,一个请求分到第三个服务器。
-与服务器通信的时候,如果出现错误,请求会被传给下一个服务器,直到所有可用的服务器都被尝试过。
-如果所有服务器都返回失败,客户端将会得到最后通信的那个服务器的(失败)响应结果。
-</para>
-
-</directive>
-
-
-<directive name="server">
-<syntax><value>address</value> [<value>parameters</value>]</syntax>
-<default/>
-<context>upstream</context>
-
-<para>
-定义服务器的地址<value>address</value>和其他参数<value>parameters</value>。
-地址可以是域名或者IP地址,端口是可选的,或者是指定“<literal>unix:</literal>”前缀的UNIX域套接字的路径。如果没有指定端口,就使用80端口。
-如果一个域名解析到多个IP,本质上是定义了多个server。
-</para>
-
-<para>
-你可以定义下面的参数:
-<list type="tag">
-
-<tag-name><literal>weight</literal>=<value>number</value></tag-name>
-<tag-desc>
-设定服务器的权重,默认是1。
-</tag-desc>
-
-<tag-name><literal>max_fails</literal>=<value>number</value></tag-name>
-<tag-desc>
-设定Nginx与服务器通信的尝试失败的次数。在<literal>fail_timeout</literal>参数定义的时间段内,如果失败的次数达到此值,Nginx就认为服务器不可用。在下一个<literal>fail_timeout</literal>时间段,服务器不会再被尝试。
-失败的尝试次数默认是1。设为0就会停止统计尝试次数,认为服务器是一直可用的。
-你可以通过指令<link doc="ngx_http_proxy_module.xml" id="proxy_next_upstream"/>、
-<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_next_upstream"/>和
-<link doc="ngx_http_memcached_module.xml" id="memcached_next_upstream"/>来配置什么是失败的尝试。
-默认配置时,<literal>http_404</literal>状态不被认为是失败的尝试。
-</tag-desc>
-
-<tag-name><literal>fail_timeout</literal>=<value>time</value></tag-name>
-<tag-desc>
-设定
-<list type="bullet">
-
-<listitem>
-统计失败尝试次数的时间段。在这段时间中,服务器失败次数达到指定的尝试次数,服务器就被认为不可用。
-</listitem>
-
-<listitem>
-服务器被认为不可用的时间段。
-</listitem>
-
-</list>
-默认情况下,该超时时间是10秒。
-</tag-desc>
-
-<tag-name><literal>backup</literal></tag-name>
-<tag-desc>
-标记为备用服务器。当主服务器不可用以后,请求会被传给这些服务器。
-</tag-desc>
-
-<tag-name><literal>down</literal></tag-name>
-<tag-desc>
-标记服务器永久不可用,可以跟<link id="ip_hash"/>指令一起使用。
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-Example:
-<example>
-upstream backend {
-    server backend1.example.com     weight=5;
-    server 127.0.0.1:8080           max_fails=3 fail_timeout=30s;
-    server unix:/tmp/backend3;
-
-    server backup1.example.com:8080 backup;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="ip_hash">
-<syntax/>
-<default/>
-<context>upstream</context>
-
-<para>
-指定服务器组的负载均衡方法,请求基于客户端的IP地址在服务器间进行分发。
-IPv4地址的前三个字节或者IPv6的整个地址,会被用来作为一个散列key。
-这种方法可以确保从同一个客户端过来的请求,会被传给同一台服务器。除了当服务器被认为不可用的时候,这些客户端的请求会被传给其他服务器,而且很有可能也是同一台服务器。
-<note>
-从1.3.2和1.2.2版本开始支持IPv6地址。
-</note>
-</para>
-
-<para>
-如果其中一个服务器想暂时移除,应该加上<literal>down</literal>参数。这样可以保留当前客户端IP地址散列分布。
-</para>
-
-<para>
-例子:
-<example>
-upstream backend {
-    ip_hash;
-
-    server backend1.example.com;
-    server backend2.example.com;
-    server backend3.example.com <emphasis>down</emphasis>;
-    server backend4.example.com;
-}
-</example>
-</para>
-
-<para>
-<note>
-从1.3.1和1.2.2版本开始,<literal>ip_hash</literal>的负载均衡方法才支持设置服务器权重值。
-</note>
-</para>
-
-</directive>
-
-
-<directive name="keepalive">
-<syntax><value>connections</value></syntax>
-<default/>
-<context>upstream</context>
-<appeared-in>1.1.4</appeared-in>
-
-<para>
-激活对上游服务器的连接进行缓存。
-</para>
-
-<para>
-<value>connections</value>参数设置每个worker进程与后端服务器保持连接的最大数量。这些保持的连接会被放入缓存。
-如果连接数大于这个值时,最久未使用的连接会被关闭。
-<note>
-需要注意的是,<literal>keepalive</literal>指令不会限制Nginx进程与上游服务器的连接总数。
-新的连接总会按需被创建。
-<value>connections</value>参数应该稍微设低一点,以便上游服务器也能处理额外新进来的连接。
-</note>
-</para>
-
-<para>
-配置memcached上游服务器连接keepalive的例子:
-<example>
-upstream memcached_backend {
-    server 127.0.0.1:11211;
-    server 10.0.0.2:11211;
-
-    keepalive 32;
-}
-
-server {
-    ...
-
-    location /memcached/ {
-        set $memcached_key $uri;
-        memcached_pass memcached_backend;
-    }
-
-}
-</example>
-</para>
-
-<para>
-对于HTTP代理,<link doc="ngx_http_proxy_module.xml" id="proxy_http_version"/>指令应该设置为“<literal>1.1</literal>”,同时<header>Connection</header>头的值也应被清空。
-<example>
-upstream http_backend {
-    server 127.0.0.1:8080;
-
-    keepalive 16;
-}
-
-server {
-    ...
-
-    location /http/ {
-        proxy_pass http://http_backend;
-        proxy_http_version 1.1;
-        proxy_set_header Connection "";
-        ...
-    }
-}
-</example>
-</para>
-
-<para>
-<note>
-另外一种选择是,HTTP/1.0协议的持久连接也可以通过发送<header>Connection: Keep-Alive</header>头来实现。不过不建议这样用。
-</note>
-</para>
-
-<para>
-对于FastCGI的服务器,需要设置
-<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_keep_conn"/>
-指令来让连接keepalive工作:
-<example>
-upstream fastcgi_backend {
-    server 127.0.0.1:9000;
-
-    keepalive 8;
-}
-
-server {
-    ...
-
-    location /fastcgi/ {
-        fastcgi_pass fastcgi_backend;
-        fastcgi_keep_conn on;
-        ...
-    }
-}
-</example>
-</para>
-
-<para>
-<note>
-当使用的负载均衡方法不是默认的轮转法时,必须在<literal>keepalive</literal> 指令之前配置。
-</note>
-
-<note>
-针对SCGI和uwsgi协议,还没有实现其keepalive连接的打算。
-</note>
-</para>
-
-</directive>
-
-
-<directive name="least_conn">
-<syntax/>
-<default/>
-<context>upstream</context>
-<appeared-in>1.3.1</appeared-in>
-<appeared-in>1.2.2</appeared-in>
-
-<para>
-指定服务器组的负载均衡方法,根据其权重值,将请求发送到活跃连接数最少的那台服务器。
-如果这样的服务器有多台,那就采取有权重的轮转法进行尝试。
-</para>
-
-</directive>
-
-</section>
-
-
-<section id="variables" name="嵌入的变量">
-
-<para>
-<literal>ngx_http_upstream_module</literal>模块支持以下嵌入变量:
-
-<list type="tag">
-
-<tag-name><var>$upstream_addr</var></tag-name>
-<tag-desc>
-保存服务器的IP地址和端口或者是UNIX域套接字的路径。
-在请求处理过程中,如果有多台服务器被尝试了,它们的地址会被拼接起来,以逗号隔开,比如:
-“<literal>192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock</literal>”。
-如果在服务器之间通过<header>X-Accel-Redirect</header>头或者<link doc="ngx_http_core_module.xml" id="error_page"/>有内部跳转,那么这些服务器组之间会以冒号隔开,比如:“<literal>192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock : 192.168.10.1:80, 192.168.10.2:80</literal>”。
-</tag-desc>
-
-<tag-name><var>$upstream_response_time</var></tag-name>
-<tag-desc>
-以毫秒的精度保留服务器的响应时间,(输出)单位是秒。
-出现多个响应时,也是以逗号和冒号隔开。
-</tag-desc>
-
-<tag-name><var>$upstream_status</var></tag-name>
-<tag-desc>
-保存服务器的响应代码。
-出现多个响应时,也是以逗号和冒号隔开。
-</tag-desc>
-
-<tag-name><var>$upstream_http_...</var></tag-name>
-<tag-desc>
-保存服务器的响应头的值。比如<header>Server</header>响应头的值可以通过<var>$upstream_http_server</var>变量来获取。
-需要注意的是只有最后一个响应的头会被保留下来。
-</tag-desc>
-
-</list>
-</para>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/xml/cn/docs/http/request_processing.xml
+++ /dev/null
@@ -1,216 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="Nginx如何处理一个请求"
-         link="/cn/docs/http/request_processing.html"
-         lang="cn"
-         rev="1"
-         translator="Jinglong &amp; cfsego"
-         author="Igor Sysoev"
-         editor="Brian Mercer">
-
-
-<section name="基于名字的虚拟主机">
-
-<para>
-Nginx首先选定由哪一个<i>虚拟主机</i>来处理请求。让我们从一个简单的配置(其中全部3个虚拟主机都在端口*:80上监听)开始:
-
-<programlisting>
-server {
-    listen      80;
-    server_name example.org www.example.org;
-    ...
-}
-
-server {
-    listen      80;
-    server_name example.net www.example.net;
-    ...
-}
-
-server {
-    listen      80;
-    server_name example.com www.example.com;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-在这个配置中,nginx仅仅检查请求的<header>Host</header>头以决定该请求应由哪个虚拟主机来处理。如果Host头没有匹配任意一个虚拟主机,或者请求中根本没有包含Host头,那nginx会将请求分发到定义在此端口上的默认虚拟主机。在以上配置中,第一个被列出的虚拟主机即nginx的默认虚拟主机——这是nginx的默认行为。而且,可以显式地设置某个主机为默认虚拟主机,即在"<literal>listen</literal>"指令中设置"<literal>default_server</literal>"参数:
-
-<programlisting>
-server {
-    listen      80 <b>default_server</b>;
-    server_name example.net www.example.net;
-    ...
-}
-</programlisting>
-
-<note>
-"<literal>default_server</literal>"参数从0.8.21版开始可用。在之前的版本中,应该使用"<literal>default</literal>"参数代替。
-</note>
-
-请注意"<literal>default_server</literal>"是监听端口的属性,而不是主机名的属性。后面会对此有更多介绍。
-</para>
-
-</section>
-
-
-<section id="how_to_prevent_undefined_server_names"
-        name="如何防止处理未定义主机名的请求">
-
-<para>
-如果不允许请求中缺少<header>Host</header>头,可以定义如下主机,丢弃这些请求:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  "";
-    return       444;
-}
-</programlisting>
-
-在这里,我们设置主机名为空字符串以匹配未定义<header>Host</header>头的请求,而且返回了一个nginx特有的,非http标准的返回码444,它可以用来关闭连接。
-<note>从0.8.48版本开始,这已成为主机名的默认设置,所以可以省略<literal>server_name ""</literal>。而之前的版本使用机器的<i>hostname</i>作为主机名的默认值。</note>
-</para>
-
-</section>
-
-
-<section id="mixed_name_ip_based_servers"
-        name="基于域名和IP混合的虚拟主机">
-
-<para>
-下面让我们来看一个复杂点的配置,在这个配置里,有几个虚拟主机在不同的地址上监听:
-
-<programlisting>
-server {
-    listen      192.168.1.1:80;
-    server_name example.org www.example.org;
-    ...
-}
-
-server {
-    listen      192.168.1.1:80;
-    server_name example.net www.example.net;
-    ...
-}
-
-server {
-    listen      192.168.1.2:80;
-    server_name example.com www.example.com;
-    ...
-}
-</programlisting>
-
-这个配置中,nginx首先测试请求的IP地址和端口是否匹配某个<link doc="ngx_http_core_module.xml" id="server"/>配置块中的<link doc="ngx_http_core_module.xml" id="listen"/>指令配置。接着nginx继续测试请求的Host头是否匹配这个<link doc="ngx_http_core_module.xml" id="server"/>块中的某个<link doc="ngx_http_core_module.xml" id="server_name"/>的值。如果主机名没有找到,nginx将把这个请求交给默认虚拟主机处理。例如,一个从192.168.1.1:80端口收到的访问<literal>www.example.com</literal>的请求将被监听192.168.1.1:80端口的默认虚拟主机处理,本例中就是第一个服务器,因为这个端口上没有定义名为<literal>www.example.com</literal>的虚拟主机。
-</para>
-
-<para>
-默认服务器是监听端口的属性,所以不同的监听端口可以设置不同的默认服务器:
-
-<programlisting>
-server {
-    listen      192.168.1.1:80;
-    server_name example.org www.example.org;
-    ...
-}
-
-server {
-    listen      192.168.1.1:80 <b>default_server</b>;
-    server_name example.net www.example.net;
-    ...
-}
-
-server {
-    listen      192.168.1.2:80 <b>default_server</b>;
-    server_name example.com www.example.com;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="simple_php_site_configuration"
-        name="一个简单PHP站点配置">
-
-<para>
-现在我们来看在一个典型的,简单的PHP站点中,nginx怎样为一个请求选择<i>location</i>来处理:
-
-<programlisting>
-server {
-    listen      80;
-    server_name example.org www.example.org;
-    root        /data/www;
-
-    location / {
-        index   index.html index.php;
-    }
-
-    location ~* \.(gif|jpg|png)$ {
-        expires 30d;
-    }
-
-    location ~ \.php$ {
-        fastcgi_pass  localhost:9000;
-        fastcgi_param SCRIPT_FILENAME
-                      $document_root$fastcgi_script_name;
-        include       fastcgi_params;
-    }
-}
-</programlisting>
-</para>
-
-<para>
-首先,nginx使用前缀匹配找出最准确的location,这一步nginx会忽略location在配置文件出现的顺序。上面的配置中,唯一的前缀匹配location是"<literal>/</literal>",而且因为它可以匹配任意的请求,所以被作为最后一个选择。接着,nginx继续按照配置中的顺序依次匹配正则表达式的location,匹配到第一个正则表达式后停止搜索。匹配到的location将被使用。如果没有匹配到正则表达式的location,则使用刚刚找到的最准确的前缀匹配的location。
-</para>
-
-<para>
-请注意所有location匹配测试只使用请求的URI部分,而不使用参数部分。这是因为写参数的方法很多,比如:
-
-<programlisting>
-/index.php?user=john&amp;page=1
-/index.php?page=1&amp;user=john
-</programlisting>
-
-除此以外,任何人在请求串中都可以随意添加字符串:
-
-<programlisting>
-/index.php?page=1&amp;something+else&amp;user=john
-</programlisting>
-</para>
-
-<para>
-现在让我们来看使用上面的配置,请求是怎样被处理的:
-
-<list type="bullet" compact="no">
-
-<listitem>
-请求"<literal>/logo.gif</literal>"首先匹配上location "<literal>/</literal>",然后匹配上正则表达式"<literal>\.(gif|jpg|png)$</literal>"。因此,它将被后者处理。根据"<literal>root /data/www</literal>"指令,nginx将请求映射到文件<path>/data/www/logo.gif</path>",并发送这个文件到客户端。
-</listitem>
-
-<listitem>
-请求"<literal>/index.php</literal>"首先也匹配上location "<literal>/</literal>",然后匹配上正则表达式"<literal>\.(php)$</literal>"。 因此,它将被后者处理,进而被发送到监听在localhost:9000的FastCGI服务器。<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_param"/>指令将FastCGI的参数<literal>SCRIPT_FILENAME</literal>的值设置为"<literal>/data/www/index.php</literal>",接着FastCGI服务器执行这个文件。变量<var>$document_root</var>等于<link doc="ngx_http_core_module.xml" id="root"/>指令设置的值,变量<var>$fastcgi_script_name</var>的值是请求的uri,"<literal>/index.php</literal>"。
-</listitem>
-
-<listitem>
-请求"<literal>/about.html</literal>"仅能匹配上location "<literal>/</literal>",因此,它将使用此location进行处理。根据"<literal>root /data/www</literal>"指令,nginx将请求映射到文件"<path>/data/www/about.html</path>",并发送这个文件到客户端。
-</listitem>
-
-<listitem>
-请求"<literal>/</literal>"的处理更为复杂。它仅能匹配上location "<literal>/</literal>",因此,它将使用此location进行处理。然后,<link doc="ngx_http_index_module.xml" id="index"/>指令使用它的参数和"<literal>root /data/www</literal>"指令所组成的文件路径来检测对应的文件是否存在。如果文件<path>/data/www/index.html</path>不存在,而<path>/data/www/index.php</path>存在,此指令将执行一次内部重定向到"<literal>/index.php</literal>",接着nginx将重新寻找匹配"<literal>/index.php</literal>"的location,就好像这次请求是从客户端发过来一样。正如我们之前看到的那样,这个重定向的请求最终交给FastCGI服务器来处理。
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/cn/docs/http/server_names.xml
+++ /dev/null
@@ -1,378 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="虚拟主机名"
-         link="/cn/docs/http/server_names.html"
-         lang="cn"
-         rev="2"
-         translator="cfsego"
-         author="Igor Sysoev"
-         editor="Brian Mercer">
-
-
-<section>
-
-<para>
-
-虚拟主机名使用<link doc="ngx_http_core_module.xml" id="server_name"/>指令定义,用于决定由某台<link doc="ngx_http_core_module.xml" id="server">虚拟主机</link>来处理请求。具体请参考《<link doc="request_processing.xml">nginx如何处理一个请求</link>》。虚拟主机名可以使用确切的名字,通配符,或者是正则表达式来定义:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  *.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  mail.*;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  ~^(?&lt;user&gt;.+)\.example\.net$;
-    ...
-}
-</programlisting>
-
-nginx以名字查找虚拟主机时,如果名字可以匹配多于一个主机名定义,比如同时匹配了通配符的名字和正则表达式的名字,那么nginx按照下面的优先级别进行查找,并选中第一个匹配的虚拟主机:
-
-<list type="enum">
-
-<listitem>
-确切的名字;
-</listitem>
-
-<listitem>
-最长的以星号起始的通配符名字:<literal>*.example.org</literal>;
-</listitem>
-
-<listitem>
-最长的以星号结束的通配符名字:<literal>mail.*</literal>;
-</listitem>
-
-<listitem>
-第一个匹配的正则表达式名字(按在配置文件中出现的顺序)。
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="wildcard_names"
-        name="通配符名字">
-
-<para>
-通配符名字只可以在名字的起始处或结尾处包含一个星号,并且星号与其他字符之间用点分隔。所以,“<literal>www.*.example.org</literal>”和“<literal>w*.example.org</literal>”都是非法的。不过,上面的两个名字可以使用正则表达式描述,即“<literal>~^www\..+\.example\.org$</literal>”和“<literal>~^w.*\.example\.org$</literal>”。星号可以匹配名字的多个节(各节都是以点号分隔的)。“<literal>*.example.org</literal>”不仅匹配<literal>www.example.org</literal>,也匹配<literal>www.sub.example.org</literal>。
-</para>
-
-<para>
-有一种形如“<literal>.example.org</literal>”的特殊通配符,它可以既匹配确切的名字“<literal>example.org</literal>”,又可以匹配一般的通配符名字“<literal>*.example.org</literal>”。
-</para>
-
-</section>
-
-
-<section id="regex_names"
-        name="正则表达式名字">
-
-<para>
-nginx使用的正则表达式兼容PCRE。为了使用正则表达式,虚拟主机名必须以波浪线“~”起始:
-
-<programlisting>
-server_name  ~^www\d+\.example\.net$;
-</programlisting>
-
-否则该名字会被认为是个确切的名字,如果表达式含星号,则会被认为是个通配符名字(而且很可能是一个非法的通配符名字)。不要忘记设置“<literal>^</literal>”和“<literal>$</literal>”锚点,语法上它们不是必须的,但是逻辑上是的。同时需要注意的是,域名中的点“.”需要用反斜线“\”转义。含有“<literal>{</literal>”和“<literal>}</literal>”的正则表达式需要被引用,如:
-
-<programlisting>
-server_name  "~^(?&lt;name&gt;\w\d<b>{</b>1,3<b>}</b>+)\.example\.net$";
-</programlisting>
-
-否则nginx就不能启动,错误提示是:
-
-<programlisting>
-directive "server_name" is not terminated by ";" in ...
-</programlisting>
-
-命名的正则表达式捕获组在后面可以作为变量使用:
-
-<programlisting>
-server {
-    server_name   ~^(www\.)?(<b>?&lt;domain&gt;</b>.+)$;
-
-    location / {
-        root   /sites/<b>$domain</b>;
-    }
-}
-</programlisting>
-
-PCRE使用下面语法支持命名捕获组:
-
-<table note="yes">
-
-<tr>
-<td><literal>?&lt;<value>name</value>&gt;</literal></td>
-<td>从PCRE-7.0开始支持,兼容Perl 5.10语法</td>
-</tr>
-
-<tr>
-<td><literal>?'<value>name</value>'</literal></td>
-<td>从PCRE-7.0开始支持,兼容Perl 5.10语法</td>
-</tr>
-
-<tr>
-<td><literal>?P&lt;<value>name</value>&gt;</literal></td>
-<td>从PCRE-4.0开始支持,兼容Python语法</td>
-</tr>
-
-</table>
-
-如果nginx不能启动,并显示错误信息:
-
-<programlisting>
-pcre_compile() failed: unrecognized character after (?&lt; in ...
-</programlisting>
-
-说明PCRE版本太旧,应该尝试使用<literal>?P&lt;name&gt;</literal>。捕获组也可以以数字方式引用:
-
-<programlisting>
-server {
-    server_name   ~^(www\.)?(.+)$;
-
-    location / {
-        root   /sites/<b>$2</b>;
-    }
-}
-</programlisting>
-
-不过,这种用法只限于简单的情况(比如上面的例子),因为数字引用很容易被覆盖。
-</para>
-
-
-</section>
-
-
-<section id="miscellaneous_names"
-        name="其他类型的名字">
-
-<para>
-有一些主机名会被特别对待。
-</para>
-
-<para>
-如果需要用一个非默认的<link doc="ngx_http_core_module.xml" id="server">虚拟主机</link>处理请求头中不含<header>Host</header>字段的请求,需要指定一个空名字:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org  "";
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-如果<link doc="ngx_http_core_module.xml" id="server"/>块中没有定义<link doc="ngx_http_core_module.xml" id="server_name"/>,nginx使用空名字作为虚拟主机名。
-<note>
-nginx 0.8.48版本以下(含)在同样的情况下会使用机器名作为虚拟主机名。
-</note>
-</para>
-
-<para>
-如果以“<literal>$hostname</literal>”(nginx 0.9.4及以上版本)定义虚拟主机名,机器名将被使用。
-</para>
-
-<para>
-如果使用IP地址而不是主机名来请求服务器,那么请求头的<header>Host</header>字段包含的将是IP地址。可以将IP地址作为虚拟主机名来处理这种请求:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  nginx.org
-                 www.nginx.org
-                 ""
-                 <b>192.168.1.1</b>
-                 ;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-在匹配所有的服务器的例子中,可以见到一个奇怪的名字“<literal>_</literal>”:
-
-<programlisting>
-server {
-    listen       80  default_server;
-    server_name  _;
-    return       444;
-}
-</programlisting>
-
-这没什么特别的,它只不过是成千上万的与真实的名字绝无冲突的非法域名中的一个而已。当然,也可以使用“<literal>--</literal>”和“<literal>!@#</literal>”等等。
-</para>
-
-<para>
-nginx直到0.6.25版本还支持一个特殊的名字“<literal>*</literal>”,这个名字一直被错误地理解成是一个匹配所有的名字。但它从来没有像匹配所有的名字,或者通配符那样工作过,而是用来支持一种功能,此功能现在已经改由<link doc="ngx_http_core_module.xml" id="server_name_in_redirect"/>指令提供支持了。所以,现在这个特殊的名字“<literal>*</literal>”已经过时了,应该使用<link doc="ngx_http_core_module.xml" id="server_name_in_redirect"/>指令取代它。需要注意的是,使用<link doc="ngx_http_core_module.xml" id="server_name"/>指令无法描述匹配所有的名字或者默认服务器。这是<link doc="ngx_http_core_module.xml" id="listen"/>指令的属性,而不是<link doc="ngx_http_core_module.xml" id="server_name"/>指令的属性。具体请参考《<link doc="request_processing.xml">nginx如何处理一个请求</link>》。可以定义两个服务器都监听*:80和*:8080端口,然后指定一个作为端口*:8080的默认服务器,另一个作为端口*:80的默认服务器:
-
-<programlisting>
-server {
-    listen       80;
-    listen       8080  default_server;
-    server_name  example.net;
-    ...
-}
-
-server {
-    listen       80  default_server;
-    listen       8080;
-    server_name  example.org;
-    ...
-}
-</programlisting>
-</para>
-
-
-</section>
-
-
-<section id="optimization"
-        name="优化">
-
-<para>
-确切名字和通配符名字存储在哈希表中。哈希表和监听端口关联。哈希表的尺寸在配置阶段进行了优化,可以以最小的CPU缓存命中失败来找到名字。设置哈希表的细节参见<link doc="../hash.xml">这篇文档</link>
-</para>
-
-<para>
-nginx首先搜索确切名字的哈希表,如果没有找到,搜索以星号起始的通配符名字的哈希表,如果还是没有找到,继续搜索以星号结束的通配符名字的哈希表。
-</para>
-
-<para>
-因为名字是按照域名的节来搜索的,所以搜索通配符名字的哈希表比搜索确切名字的哈希表慢。注意特殊的通配符名字“<literal>.example.org</literal>”存储在通配符名字的哈希表中,而不在确切名字的哈希表中。
-</para>
-
-<para>
-正则表达式是一个一个串行的测试,所以是最慢的,而且不可扩展。
-</para>
-
-<para>
-鉴于以上原因,请尽可能使用确切的名字。举个例子,如果使用<literal>example.org</literal>和<literal>www.example.org</literal>来访问服务器是最频繁的,那么将它们明确的定义出来就更为有效:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org  *.example.org;
-    ...
-}
-</programlisting>
-
-下面这种方法相比更简单,但是效率也更低:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  .example.org;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-如果定义了大量名字,或者定义了非常长的名字,那可能需要在<i>http</i>配置块中使用<link doc="ngx_http_core_module.xml" id="server_names_hash_max_size"/>和<link doc="ngx_http_core_module.xml" id="server_names_hash_bucket_size"/>指令进行调整。<link doc="ngx_http_core_module.xml" id="server_names_hash_bucket_size"/>的默认值可能是32,或者是64,或者是其他值,取决于CPU的缓存行的长度。如果这个值是32,那么定义“<literal>too.long.server.name.example.org</literal>”作为虚拟主机名就会失败,而nginx显示下面错误信息:
-<programlisting>
-could not build the server_names_hash,
-you should increase server_names_hash_bucket_size: 32
-</programlisting>
-
-出现了这种情况,那就需要将指令的值扩大一倍:
-
-<programlisting>
-http {
-    server_names_hash_bucket_size  64;
-    ...
-</programlisting>
-
-如果定义了大量名字,得到了另外一个错误:
-
-<programlisting>
-could not build the server_names_hash,
-you should increase either server_names_hash_max_size: 512
-or server_names_hash_bucket_size: 32
-</programlisting>
-
-那么应该先尝试设置<link doc="ngx_http_core_module.xml" id="server_names_hash_max_size"/>的值差不多等于名字列表的名字总量。如果还不能解决问题,或者服务器启动非常缓慢,再尝试提高<link doc="ngx_http_core_module.xml" id="server_names_hash_bucket_size"/>的值。
-</para>
-
-<para>
-如果只为一个监听端口配置了唯一的主机,那么nginx就完全不会测试虚拟主机名了(也不会为监听端口建立哈希表)。不过,有一个例外,如果定义的虚拟主机名是一个含有捕获组的正则表达式,这时nginx就不得不执行这个表达式以得到捕获组。
-</para>
-
-</section>
-
-
-<section id="compatibility"
-        name="兼容性">
-
-<para>
-<list type="bullet">
-
-<listitem>
-从0.9.4版本开始,支持特殊的虚拟主机名“<literal>$hostname</literal>”。
-</listitem>
-
-<listitem>
-从0.8.48版本开始,默认的虚拟主机名是空名字“”。
-</listitem>
-
-<listitem>
-从0.8.25版本开始,支持虚拟主机名中使用命名的正则表达式捕获组。
-</listitem>
-
-<listitem>
-从0.7.40版本开始,支持虚拟主机名中使用正则表达式的捕获组。
-</listitem>
-
-<listitem>
-从0.7.12版本开始,支持空名字“”。
-</listitem>
-
-<listitem>
-从0.6.25版本开始,通配符和正则表达式名字可以作为第一个虚拟主机名。
-</listitem>
-
-<listitem>
-从0.6.7版本开始,支持正则表达式的虚拟主机名。
-</listitem>
-
-<listitem>
-从0.6.0版本开始,支持形如<literal>example.*</literal>的通配符名字。
-</listitem>
-
-<listitem>
-从0.3.18版本开始,支持形如<literal>.example.org</literal>的特殊通配符名字。
-</listitem>
-
-<listitem>
-从0.1.13版本开始,支持形如<literal>*.example.org</literal>的通配符名字。
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/cn/docs/index.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Nginx文档"
-         link="/cn/docs/"
-         lang="cn"
-         rev="4"
-         toc="no">
-
-
-<section id="introduction" name="介绍">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="http/request_processing.xml"/>
-</listitem>
-
-<listitem>
-<link doc="http/server_names.xml"/>
-</listitem>
-
-<listitem>
-<link doc="windows.xml"/>
-</listitem>
-
-<listitem>
-<link doc="http/configuring_https_servers.xml"/>
-</listitem>
-
-<listitem>
-<link doc="syntax.xml"/>
-</listitem>
-
-<listitem>
-<link doc="debugging_log.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="howto" name="How-To">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="http/converting_rewrite_rules.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section name="模块参考目录">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="http/ngx_http_access_module.xml">
-ngx_http_access_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_addition_module.xml">
-ngx_http_addition_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_auth_basic_module.xml">
-ngx_http_auth_basic_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_autoindex_module.xml">
-ngx_http_autoindex_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_browser_module.xml">
-ngx_http_browser_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_core_module.xml">
-ngx_http_core_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_empty_gif_module.xml">
-ngx_http_empty_gif_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_flv_module.xml">
-ngx_http_flv_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_geo_module.xml">
-ngx_http_geo_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_geoip_module.xml">
-ngx_http_geoip_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_gzip_static_module.xml">
-ngx_http_gzip_static_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_image_filter_module.xml">
-ngx_http_image_filter_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_index_module.xml">
-ngx_http_index_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_limit_conn_module.xml">
-ngx_http_limit_conn_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_limit_req_module.xml">
-ngx_http_limit_req_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_log_module.xml">
-ngx_http_log_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_map_module.xml">
-ngx_http_map_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_proxy_module.xml">
-ngx_http_proxy_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_referer_module.xml">
-ngx_http_referer_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_rewrite_module.xml">
-ngx_http_rewrite_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_upstream_module.xml">
-ngx_http_upstream_module</link>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/cn/docs/syntax.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="配置文件中的计量单位"
-         link="/cn/docs/syntax.html"
-         lang="cn"
-         translator="cfsego"
-         rev="2">
-
-<section>
-
-<para>
-容量可以用千字节(<literal>k</literal>,<literal>K</literal>)和兆字节(<literal>m</literal>,<literal>M</literal>)来描述,比如“<literal>8k</literal>”,“<literal>1m</literal>”。
-如果没有指定单位,容量以字节为单位。
-</para>
-
-<para>
-时间可以用分钟、小时、天等来描述:
-<table width="30%">
-<tr><td width="20%">s</td><td>秒</td></tr>
-<tr><td width="20%">m</td><td>分钟</td></tr>
-<tr><td width="20%">h</td><td>小时</td></tr>
-<tr><td width="20%">d</td><td>天</td></tr>
-<tr><td width="20%">w</td><td>周</td></tr>
-<tr><td width="20%">M</td><td>月,30天</td></tr>
-<tr><td width="20%">y</td><td>年,365天</td></tr>
-</table>
-</para>
-
-<para>
-比如,“<literal>1h 30m</literal>”,“<literal>1y 6M</literal>”。
-另外,在一些指令中,描述时间可以精确到毫秒精度(<literal>ms</literal>)。
-如果没有指定单位,时间以秒为单位。
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/cn/docs/sys_errlist.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="关于“&lsquo;sys_errlist&rsquo; is deprecated; use &lsquo;strerror&rsquo; or &lsquo;strerror_r&rsquo; instead”的提示"
-         link="/cn/docs/sys_errlist.html"
-         lang="cn"
-         rev="1">
-
-
-<section>
-
-<para>
-在Linux环境下编译nginx 0.7.66、0.8.35或更高版本时,会出现以下警告:
-
-<programlisting>
-warning: `sys_errlist' is deprecated;
-    use `strerror' or `strerror_r' instead
-warning: `sys_nerr' is deprecated;
-    use `strerror' or `strerror_r' instead
-</programlisting>
-
-这属于正常情况:nginx必须在信号处理函数中使用过时的sys_errlist[]和sys_nerr,因为strerror()和strerror_r()是非异步信号安全的。
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/cn/docs/welcome_nginx_facebook.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="我尝试打开Facebook,Yahoo!,Yandex,Tumblr,Google等等,但得到的是一个“Welcome to nginx!”的页面"
-         link="/cn/docs/welcome_nginx_facebook.html"
-         lang="cn"
-         rev="1">
-
-<section>
-
-<para>
-<initial>问:</initial>
-我尝试打开Facebook,Yahoo!,Yandex,Tumblr,Google,或者其他一些知名网站时,但是得到的都是空白页,页面上有一条与nginx相关的信息:“Welcome to nginx!”或者是“404 Not Found / nginx”。
-</para>
-
-
-<para>
-我怀疑出了什么问题,而且有可能有恶意的企图要把我引导到流氓页面去(为了黑掉我的电脑,钓鱼等等)。为什么?nginx跟我想连上Facebook(Yahoo!,Google等等)有什么关系?
-</para>
-
-<para>
-&nbsp;
-</para>
-
-<para>
-<initial>答:</initial>
-第一,你看到的“Welcome to nginx!”不是我们的网站。nginx是我们开发和分发的一个<b>免费</b>的<link url="http://en.wikipedia.org/wiki/Open-source_software">开源</link>web服务器软件。“Welcome to nginx!”的页面只是任何一个运行nginx服务器的网站都会返回的诊断响应。目前,nginx是世界上第二流行的开源web服务器,它被70,000,000网站(因特网的10%)所使用。这些网站中绝大多数都是合法的,但也有一些不是。我们的软件是本着让因特网上具备高性能和高扩展性的好意而创造的,它遵循<link url="http://nginx.org/LICENSE">流行的开源许可</link>,本质上与任何威胁和恶意行为都没有任何关系————nginx不是恶意软件,它也不在你的电脑上。但是某些恶意软件确实会篡改你的电脑或者路由器,把你引导到某个欺诈的因特网服务器上。
-</para>
-
-<para>
-(免责声明: 对于下列行为造成的任何负面影响和效果,nginx不承担任何责任。按下面建议进行操作时,您需要自行承担风险。尤其是您对您的操作系统和/或因特网应用不是很有经验时,这点非常重要。对任何直接的,间接的,偶然的,特殊的,典型的,或者继发的损害,包括但不限于使用、数据、收益方面的损失,或者营业中断,nginx不负有任何责任)。
-</para>
-
-<para>
-<list type="bullet" compact="no">
-<listitem>
-检查你的TCP/IP设置,查看DNS配置是否合法(请咨询ISP或IT支持人员)
-</listitem>
-
-<listitem>
-使用<link url="http://code.google.com/speed/public-dns/">Google
-Public DNS</link>, 尝试修复这个问题。Google Public DNS的描述是:“Google Public DNS是一款免费的全球域名系统(DNS)解析服务,您可以使用它替代您当前的DNS供应服务。[..]使用Google Public DNS,你可以:加速您的浏览体验。<b>提升你的安全性</b>。”
-</listitem>
-
-<listitem>
-清除您的DNS解析缓存。在微软Windos XP上,运行“开始” > “运行”,然后输入下面指令:“ipconfig /flushdns”。在微软Vista, Windows 7和Windows 8上,点击“开始”图标,找到“所有应用” > “附件” > “命令提示符”,右击,选择“以管理员身份运行”,再输入“ipconfig /flushdns”,敲回车键。
-</listitem>
-
-<listitem>
-点击浏览器上的“刷新”按钮。清空浏览器的数据(缓存,cookie等等)。比如,使用Chrome浏览器,找到并点击“清除浏览数据”(设置 > 显示高级设置)。使用IE浏览器,找到“工具” > “Interner选项” > “常规”)。<b>注意:</b>您在这里可能删除您保存的密码信心,所以请仔细操作并检查您正在进行的究竟是何种操作。
-</listitem>
-
-<listitem>
-检查“hosts”文件中是否不包含除“127.0.0.1 localhost”以外的其他项;如果不是,那么这些项中是否有您要访问的网站。“hosts”文件位于C:\WINDOWS\system32\drivers\etc文件夹下。通常文件中应该只有一项“127.0.0.1 localhost”。“hosts”文件可以使用记事本查看和编辑。
-</listitem>
-
-<listitem>
-检查安装到您的浏览器中的插件和扩展。重新安装您的浏览器或者如果可能的话,使用其他浏览器替代。
-</listitem>
-</list>
-</para>
-
-<para>
-当你尝试访问一些知名网站的时候,得到的不是熟悉的页面反而是“Welcome to nginx!”的时候,你的<b>操作系统</b>设置,<b>家用路由器</b>设置,或者<b>浏览器</b>设置一定有问题。如果你的电脑是干净且安全的,就不应该出现这种情况。
-</para>
-
-<para>
-如果将DNS服务器换成Google Public DNS,刷新DNS解析缓存,修复您的浏览器配置,或者清理“hosts”文件(适当的)确实解决了问题,那么您的电脑上或者周边网络中可能存在着恶意软件。使用您偏好的杀毒软件和恶意软件清除工具找出并清除它们。
-</para>
-
-<para>
-其他可能有用的文章:
-</para>
-
-<para>
-DCWG.org:
-</para>
-<para>
-<link url="http://www.dcwg.org/detect/">
-如何发现您的电脑是否已经被DNS Changer侵犯和感染?</link>
-</para>
-
-<para>
-<link url="http://www.dcwg.org/fix/">
-如何清理或修复恶意软件DNS Changer</link>
-</para>
-
-<para>
-Microsoft:
-</para>
-<para>
-<link url="http://www.microsoft.com/security/pc-security/malware-removal.aspx">
-恶意软件删除工具</link>
-</para>
-
-<para>
-<link url="http://support.microsoft.com/kb/972034">
-如何将主机文件重置回默认值?</link>
-</para>
-
-<para>
-<link url="http://support.microsoft.com/kb/299357">
-如何重置 Internet 协议 (TCP/IP)</link>
-</para>
-
-<para>
-Tech-Recipes:
-</para>
-<para>
-<link url="http://www.tech-recipes.com/rx/1600/vista_dns_cache_flush/">
-在Vista,Windows 7和Windows 8系统中刷新,清除,重置DNS缓存</link>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/cn/docs/windows.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="nginx Windows版使用说明"
-         link="/cn/docs/windows.html"
-         lang="cn"
-         rev="1">
-
-
-<section>
-
-<para>
-nginx的Windows版本使用原生Win32 API(非Cygwin模拟层)。当前nginx/Windows只使用<i>select</i>作为通知方法,所以不要期待它有很高的性能和扩展性。鉴于这点和一些已知问题,nginx/Windows目前还处于<i>beta</i>阶段。nginx/Windows和Unix版本相比,功能几乎已经齐全,除了XSLT过滤器、图像过滤器、GeoIP模块和嵌入Perl语言支持以外。
-</para>
-
-<para>
-安装nginx/Windows,需要<link doc="../download.xml">下载</link>最新的<mainline_version />开发版本,因为开发分支上包含了所有已知的问题修复,尤其是针对Windows版本的问题修复。解压缩下载得到的zip文件,进入nginx-<mainline_version />目录,运行nginx。下面给出一个在C盘根目录下安装的例子:
-
-<programlisting>
-cd c:\
-unzip nginx-<mainline_version />.zip
-cd nginx-<mainline_version />
-start nginx
-</programlisting>
-
-可以在命令行运行<command>tasklist</command>命令来查看nginx进程:
-
-<programlisting>
-C:\nginx-<mainline_version />&gt;tasklist /fi "imagename eq nginx.exe"
-
-Image Name           PID Session Name     Session#    Mem Usage
-=============== ======== ============== ========== ============
-nginx.exe            652 Console                 0      2 780 K
-nginx.exe           1332 Console                 0      3 112 K
-</programlisting>
-
-其中一个是主进程,另一个是工作进程。如果nginx没有启动,请查看<path>logs\error.log</path>文件以寻找失败原因。如果日志文件不存在,那失败原因会记录在Windows事件日志中。如果某次请求没有展示预想的页面,而是展示了错误页面,也请查看<path>logs\error.log</path>文件。
-</para>
-
-<para>
-nginx/Windows使用工作目录作为前缀将配置文件中设置的相对目录补齐。就上面安装的例子而言,工作目录应该是<path>C:\nginx-<mainline_version />\</path>(工作目录基本上与运行文件所在的目录相同)。配置文件中的目录请使用“/”,而不是“\”做目录分隔:
-
-<programlisting>
-access_log   logs/site.log;
-root         C:/web/html;
-</programlisting>
-</para>
-
-<para>
-nginx/Windows作为标准控制台应用运行,而不是系统服务。可以用下面的命令控制:
-
-<table note="yes">
-
-<tr>
-<td width="20%">nginx -s stop</td>
-<td>快速退出</td>
-</tr>
-
-<tr>
-<td>nginx -s quit</td>
-<td>优雅退出</td>
-</tr>
-
-<tr>
-<td>nginx -s reload</td>
-<td>
-更换配置,启动新的工作进程,优雅的关闭以往的工作进程
-</td>
-</tr>
-
-<tr>
-<td>nginx -s reopen</td>
-<td>重新打开日志文件</td>
-</tr>
-
-</table>
-</para>
-
-</section>
-
-<section id="known_issues"
-        name="已知问题">
-
-<list type="bullet">
-
-<listitem>
-虽然可以启动若干工作进程运行,实际上只有一个进程在处理请求所有请求。
-</listitem>
-
-<listitem>
-一个工作进程只能处理不超过1024个并发连接。
-</listitem>
-
-<listitem>
-缓存和其他需要共享内存支持的模块在Windows Vista及后续版本的操作系统中无法工作,因为在这些操作系统中,地址空间的布局是随机的。
-</listitem>
-
-</list>
-
-</section>
-
-<section id="possible_future_enhancements"
-        name="日后可能加强的功能">
-
-<list type="bullet">
-
-<listitem>
-作为系统服务运行。
-</listitem>
-
-<listitem>
-使用“I/O完成端口”作为事件模型。
-</listitem>
-
-<listitem>
-使用单工作进程多线程的模型。
-</listitem>
-
-</list>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/cn/index.xml
+++ /dev/null
@@ -1,272 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../dtd/article.dtd">
-
-<article name="nginx"
-         link="/cn/"
-         lang="cn"
-         rev="3">
-
-
-<section>
-
-<para>
-nginx [engine x]是<link url="http://sysoev.ru/en/">Igor Sysoev</link>编写的一个HTTP和反向代理服务器,另外它也可以作为邮件代理服务器。
-它已经在众多流量很大的俄罗斯网站上使用了很长时间,这些网站包括<link url="http://www.yandex.ru">Yandex</link>、<link url="http://www.mail.ru">Mail.Ru</link>、<link url="http://www.vkontakte.ru">VKontakte</link>,以及<link url="http://www.rambler.ru">Rambler</link>。据Netcraft统计,在2012年8月份,<link url="http://news.netcraft.com/archives/2012/08/02/august-2012-web-server-survey.html">世界上最繁忙的网站中有11.48%</link>使用Nginx作为其服务器或者代理服务器。部分成功案例请见:
-<link url="https://signup.netflix.com/openconnect/software">Netflix</link>,
-<link url="http://barry.wordpress.com/2008/04/28/load-balancer-update/">Wordpress.com</link>,
-<link url="http://blog.fastmail.fm/2007/01/04/webimappop-frontend-proxies-changed-to-nginx/">FastMail.FM</link>。
-</para>
-
-<para>
-Nginx的源码使用的许可为<link url="http://nginx.org/LICENSE">两条款类BSD协议</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>,uwsgi,SCGI,和<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>、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 过滤器中,一个包含多个SSI的页面,如果经由FastCGI或反向代理处理,可被并行处理;
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_ssl_module.xml">支持SSL,TLS SNI</link>。
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="other_http_features"
-        name="其他的HTTP服务器特性">
-
-<para>
-<list type="bullet">
-
-<listitem>
-基于名字和IP的<link doc="docs/http/request_processing.xml">虚拟主机</link>;
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_core_module.xml" id="keepalive_timeout">Keep-alive</link>和pipelined连接支持;
-</listitem>
-
-<listitem>
-灵活的配置;
-</listitem>
-
-<listitem>
-<link doc="docs/control.xml" id="reconfiguration">重新加载配置</link>以及<link doc="docs/control.xml" id="upgrade">在线升级</link>时,不需要中断正在处理的请求;
-</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>;
-</listitem>
-
-<listitem>
-3xx-5xx错误代码<link doc="docs/http/ngx_http_core_module.xml" id="error_page">重定向</link>;
-</listitem>
-
-<listitem>
-重写(rewrite)模块:<link doc="docs/http/ngx_http_rewrite_module.xml">使用正则表达式改变URI</link>;
-</listitem>
-
-<listitem>
-根据<link doc="docs/http/ngx_http_geo_module.xml">客户端地址</link><link doc="docs/http/ngx_http_rewrite_module.xml" id="if">执行不同的功能</link>;
-</listitem>
-
-<listitem>
-基于<link doc="docs/http/ngx_http_access_module.xml">客户端IP地址</link>和<link doc="docs/http/ngx_http_auth_basic_module.xml">HTTP基本认证机制</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_perl_module.xml">嵌入Perl语言</link>。
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="mail_proxy_server_features"
-        name="邮件代理服务器特性">
-
-<para>
-<list type="bullet">
-
-<listitem>
-使用外部HTTP<link doc="docs/mail/ngx_mail_auth_http_module.xml">认证</link>服务器重定向用户到<link doc="docs/mail/ngx_mail_imap_module.xml">IMAP</link>/<link doc="docs/mail/ngx_mail_pop3_module.xml">POP3</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="architecture_and_scalability"
-        name="架构和扩展性">
-
-<para>
-<list type="bullet">
-
-<listitem>
-一个主进程和多个工作进程,工作进程以非特权用户运行;
-</listitem>
-
-<listitem>
-<link doc="docs/events.xml">支持</link>的事件机制: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以及poll;
-</listitem>
-
-<listitem>
-众多支持的kqueue特性包括EV_CLEAR、EV_DISABLE(临时禁止事件)、NOTE_LOWAT、EV_EOF,可用数据的数量,错误代码;
-</listitem>
-
-<listitem>
-支持sendfile(FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5+)、sendfile64(Linux 2.4.21+)和sendfilev(Solaris 8 7/01+);
-</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+, Mac OS X);
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_core_module.xml" id="listen">支持</link>Accept-filters(FreeBSD 4.1+, NetBSD 5.0+)和 TCP_DEFER_ACCEPT(Linux 2.4+);
-</listitem>
-
-<listitem>
-10000个非活跃的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; 10 / i386; FreeBSD 5 &mdash; 10 / amd64;
-</listitem>
-
-<listitem>
-Linux 2.2 &mdash; 3 / i386; Linux 2.6 &mdash; 3 / amd64;
-</listitem>
-
-<listitem>
-Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
-</listitem>
-
-<listitem>
-AIX 7.1 / powerpc;
-</listitem>
-
-<listitem>
-HP-UX 11.31 / ia64;
-</listitem>
-
-<listitem>
-MacOS X / ppc, i386;
-</listitem>
-
-<listitem>
-Windows XP, Windows Server 2003.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-</article>
\ No newline at end of file
deleted file mode 100644
--- a/xml/he/GNUmakefile
+++ /dev/null
@@ -1,4 +0,0 @@
-DOCS =									\
-		windows							\
-		http/server_names					\
-		http/converting_rewrite_rules				\
deleted file mode 100644
--- a/xml/he/docs/http/converting_rewrite_rules.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="המרת כללי rewrite"
-         link="/he/docs/http/converting_rewrite_rules.html"
-         lang="he"
-         author="Igor Sysoev"
-         translator="מבזקים.נט">
-
-<section name="הפנייה לאתר ראשי">
-
-<para>
-משתמשים שבמהלך חיי האירוח המשותף נהגו להגדיר <i>הכל</i> באמצעות
-שימוש <i>רק</i> בקובצי htaccess. של Apache, יתרגמו בדרך כלל את
-הכללים הבאים:
-
-<programlisting>
-RewriteCond  %{HTTP_HOST}  example.org
-RewriteRule  (.*)          http://www.example.org$1
-</programlisting>
-
-למשהו כזה:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  www.example.org  example.org;
-    if ($http_host = example.org) {
-        rewrite  (.*)  http://www.example.org$1;
-    }
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-צורה זו היא שגוייה, מסובכת, ולא יעילה.
-הדרך הנכונה היא להגדיר שרת נפרד עבור <literal>example.org</literal>:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org;
-    rewrite   ^  http://www.example.org$request_uri?;
-}
-
-server {
-    listen       80;
-    server_name  www.example.org;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section>
-
-<para>
-דוגמה נוספת, במקום הגיון הפוך: כל מה שהוא לא
-<literal>example.com</literal> וגם לא <literal>www.example.com</literal>:
-
-<programlisting>
-RewriteCond  %{HTTP_HOST}  !example.com
-RewriteCond  %{HTTP_HOST}  !www.example.com
-RewriteRule  (.*)          http://www.example.com$1
-</programlisting>
-
-עלייך רק להגדיר את <literal>example.com</literal>, <literal>www.example.com</literal>,
-וכל דבר אחר:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       80 default_server;
-    server_name  _;
-    rewrite   ^  http://example.org$request_uri?;
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="converting_mongrel_rules"
-        name="המרת כללי Mongrel">
-
-<para>
-כללי Mongrel טיפוסיים:
-
-<programlisting>
-DocumentRoot /var/www/myapp.com/current/public
-
-RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
-RewriteCond %{SCRIPT_FILENAME} !maintenance.html
-RewriteRule ^.*$ %{DOCUMENT_ROOT}/system/maintenance.html [L]
-
-RewriteCond %{REQUEST_FILENAME} -f
-RewriteRule ^(.*)$ $1 [QSA,L]
-
-RewriteCond %{REQUEST_FILENAME}/index.html -f
-RewriteRule ^(.*)$ $1/index.html [QSA,L]
-
-RewriteCond %{REQUEST_FILENAME}.html -f
-RewriteRule ^(.*)$ $1/index.html [QSA,L]
-
-RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]
-</programlisting>
-
-יש להמיר כך
-
-<programlisting>
-location / {
-    root       /var/www/myapp.com/current/public;
-
-    try_files  /system/maintenance.html
-               $uri  $uri/index.html $uri.html
-               @mongrel;
-}
-
-location @mongrel {
-    proxy_pass  http://mongrel;
-}
-</programlisting>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/he/docs/http/server_names.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="שמות שרת"
-         link="/he/docs/http/server_names.html"
-         lang="he"
-         author="Igor Sysoev"
-         translator="מבזקים.נט">
-
-<section>
-
-<para>
-שמות שרת מוגדרים על ידי המאפיין <literal>server_name</literal>
-והם קובעים איזה בלוק תצורת שרת מקובץ התצורה יהיה בשימוש לכל בקשה ובקשה לשרת.
-ראו גם &ldquo;<link doc="../../../en/docs/http/request_processing.xml" />&rdquo;.
-ניתן להגדירם באמצעות שמות מדוייקים, שמות Wildcard, או באמצעות ביטויים רגולריים:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  *.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  mail.*;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  ~^(?&lt;user&gt;.+)\.example\.net$;
-    ...
-}
-</programlisting>
-
-השמות נבדקים בסדר הבא:
-
-<list type="enum">
-
-<listitem>
-שמות מדוייקים;
-</listitem>
-
-<listitem>
-שמות Wildcard המתחילים בכוכבית: <literal>*.example.org</literal>;
-</listitem>
-
-<listitem>
-שמות Wildcard המסתיימים בכוכבית: <literal>mail.*</literal>;
-</listitem>
-
-<listitem>
-ביטויים רגולריים לפי הסדר שבו הם מופיעים בקובץ התצורה.
-</listitem>
-
-</list>
-ההתאמה הראשונה עוצרת את החיפוש.
-</para>
-
-</section>
-
-
-<section id="wildcard_names"
-        name="שמות Wildcard">
-
-<para>
-שם wildcard יכול להכיל כוכבית רק בתחילת או בסוף השם, וחייב להיות בגבול של נקודה.
-השמות <literal>www.*.example.org</literal>
-ו <literal>w*.example.org</literal> הם שגויים.
-למרות זאת, ניתן לציין שמות כאלה באמצעות ביטויים רגולריים,
-לדוגמא, <literal>~^www\..+\.example\.org$</literal> ו
-<literal>~^w.*\.example\.org$</literal>.
-סימן הכוכבית יכול להחליף מספר חלקי שם.
-השם <literal>*.example.org</literal> מתאים לא רק ל
-<literal>www.example.org</literal> אלא גם ל <literal>www.sub.example.org</literal>.
-</para>
-
-<para>
-ניתן להשתמש ב wildcard מיוחד בצורה של <literal>.example.org</literal>
-כדי להתאים גם לשם המדוייק <literal>example.org</literal>
-וגם לשם ה wildcard הבא: <literal>*.example.org</literal>.
-</para>
-
-</section>
-
-
-<section id="regex_names"
-        name="שמות ביטויים רגולריים">
-
-<para>
-הביטויים הרגולריים ש nginx משתמש בהם, תואמים לאלה אשר נמצאים בשימוש
-בשפת פרל (PCRE).
-כדי להשתמש בביטוי רגולרי, על שם השרת להתחיל עם סימן הטילדה (~), כך:
-
-<programlisting>
-server_name  ~^www\d+\.example\.net$;
-</programlisting>
-
-אחרת nginx יתייחס אליו כשם מדוייק, או אם הביטוי מכיל כוכבית, כשם wildcard (וסביר
-להניח שיהיה שגוי).
-אל תשכחו להגדיר עוגני
- &ldquo;^&rdquo; ו &ldquo;$&rdquo;.
-הם לא דרושים תחבירית, אם כי לוגית.
-כמו כן שימו לב שהנקודות של שם המתלם צריכות להיות מוברחות (escaped) על ידי לוכסן הפוך (\).
-ביטוי רגולרי המכיל את התווים &ldquo;{&rdquo;
-ו &ldquo;}&rdquo; צריך להיות במרכאות:
-
-<programlisting>
-server_name  "~^(?&lt;name&gt;\w\d<b>{</b>1,3<b>}</b>+)\.example\.net$";
-</programlisting>
-
-אחרת nginx יכשל בעלייה, ויציג את הודעת השגיאה הבאה:
-
-<programlisting>
-directive "server_name" is not terminated by ";" in ...
-</programlisting>
-
-ביטוי רגולרי שניתן לו שם ונלכד, ניתן לשימוש מאוחר יותר כמשתנה:
-
-<programlisting>
-server {
-    server_name   ~^(www\.)?(<b>?&lt;domain&gt;</b>.+)$;
-
-    location / {
-        root   /sites/<b>$domain</b>;
-    }
-}
-</programlisting>
-
-ספריית PCRE תומכת בלכידות מבוססות שם לפי התחביר הבא:
-
-<table note="yes">
-
-<tr>
-<td><literal>?&lt;<value>name</value>&gt;</literal></td>
-<td>תחביר תואם פרל 5.10, נתמך החל מ PCRE-7.0</td>
-</tr>
-
-<tr>
-<td><literal>?'<value>name</value>'</literal></td>
-<td>תחביר תואם פרל 5.10, נתמך החל מ PCRE-7.0</td>
-</tr>
-
-<tr>
-<td><literal>?P&lt;<value>name</value>&gt;</literal></td>
-<td>תחביר תואם פייתון, נתמך החל מ PCRE-4.0</td>
-</tr>
-
-</table>
-
-אם nginx נכשל בעלייה ומציג את הודעת השגיאה הבאה:
-
-<programlisting>
-pcre_compile() failed: unrecognized character after (?&lt; in ...
-</programlisting>
-
-פירוש הדבר שספריית ה PCRE היא ישנה, ועליכם לנסות את התחביר
-<literal>?P&lt;<value>name</value>&gt;</literal>.
-
-את הלכידה ניתן לבצע גם בצורה ספרתית:
-
-<programlisting>
-server {
-    server_name   ~^(www\.)?(.+)$;
-
-    location / {
-        root   /sites/<b>$2</b>;
-    }
-}
-</programlisting>
-
-אך יש להשתמש בצורה זו במקרים פשוטים (כמו לעיל), כיוון שהייחוסים הספרתיים
-יכולים להידרס בקלות
-</para>
-
-
-</section>
-
-
-<section id="miscellaneous_names"
-        name="שמות כלליים">
-
-<para>
-אם אף <literal>server_name</literal> לא מוגדר בבלוג שרת,
-אזי nginx משתמש ב <i>hostname</i> בתור שם השרת.
-</para>
-
-<para>
-אם ברצונכם לעבד בקשות בלי שורת כותר &ldquo;Host&rdquo;
-בבלוק שרת שאינו ברירת המחדל, עליכם לציין שם ריק:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org  "";
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-אם מישהו מבצע בקשה באמצעות כתובת IP במקום שם שרת, שורת הכותר
-&ldquo;Host&rdquo; תכיל כתובת IP, ואפשר יהיה לטפל בבקשה על ידי
-שימוש בכתובת IP בשם השרת:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org
-                 www.example.org
-                 ""
-                 <b>192.168.1.1</b>
-                 ;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-בדוגמאות catch-all ייתכן ותראו את השם המוזר &ldquo;_&rdquo;:
-
-<programlisting>
-server {
-    listen       80  default_server;
-    server_name  _;
-    return       444;
-}
-</programlisting>
-
-אין שום דבר מוזר בשם הזה, הוא רק אחד משלל שמות מתחם שגויים שלעולם לא
-תפגשו בהם בשם אמיתי.
-ניתן להשתמש גם ב &ldquo;--&rdquo;, &ldquo;!@#&rdquo;, וכך הלאה.
-</para>
-
-<para>
-nginx בגירסאות עד 0.6.25 תמך בשם המיוחד &ldquo;*&rdquo;
-אשר יש שפירשו אותו בטעות כשם catch-all.
-השם הזה מעולם לא תפקד כ catch-all ואף לא כשם wildcard.
-בפועל, הוא סיפק את הפונקציונליות שהיום מסופקת על ידי
-המאפיין <literal>server_name_in_redirect</literal>.
-השם המיוחד  &ldquo;*&rdquo; הוא כעת לא מומלץ לשימוש, ויש
-להשתמש במאפיין <literal>server_name_in_redirect</literal> במקומו.
-שימו לב שאין דרך לציין את שם ה catch-all או את שרת <i>ברירת המחדל</i>
-על ידי שימוש במאפיין <literal>server_name</literal>.
-זוהי תכונה של המאפיין <literal>listen</literal> ולא של המאפיין <literal>server_name</literal>.
-ראו גם &ldquo;<link doc="../../../en/docs/http/request_processing.xml" />&rdquo;.
-
-באפשרותכם להגדיר שרתים המאזינים על פורטים <literal>*:80</literal> ו <literal>*:8080</literal>,
-ולהגדיר שרת אחת שהוא ברירת המחדל עבור פורט
- <literal>*:8080</literal>, בעוד שהשני יהיה ברירת מחדל עבור פורט <literal>*:80</literal>:
-
-<programlisting>
-server {
-    listen       80;
-    listen       8080  default_server;
-    server_name  example.net;
-    ...
-}
-
-server {
-    listen       80  default_server;
-    listen       8080;
-    server_name  example.org;
-    ...
-}
-</programlisting>
-</para>
-
-
-</section>
-
-
-<section id="optimization"
-        name="ייעול">
-
-<para>
-
-שמות מדוייקים ושמות wildcard מאוחסנים בגיבוב (hash).
-הגיבובים מקושרים להאזנות לפורטים, ולכן פורט האזנה יכולים להיות
-עד שלושה גיבויים: גיבוב שם מדוייק, גיבוי שמות wildcard שמתחילים
-בכוכבית, וגיבוב שמות wildcard שמסתיימים בכוכבית.
-הגודל של הגיבובים מיועל בשלב התצורה כך שניתן יהיה למצוא שם
-עם הכי מעט פספוסי מטמון מעבד.
-גיבוב השמות המדוייקים עובר חיפוש ראשון.
-אם שם לא נמצא בגיבוב השמות המדוייק, מתחיל חיפוש בגיבוב השמות המתחילים
-בכוכבית.
-אם הוא לא נמצא גם שם, מתחיל חיפוש בגיבוב השמות המסתיימים בכוכבית.
-חיפוש בגיבובי שמות wildcard הוא איטי יותר מחיפוש שם בגיבוב השמות המדוייקים
-כיוון ששמות עוברים חיפוש על פי חלקי שם המתחם.
-שימו לב שצורת ה wildcard המיוחדת  <literal>.example.org</literal>
-שמורה גם היא בגיבוב שמות ה wildcard ולא בגיבוב השמות המדוייקים.
-ביטויים רגולריים נבדקים באופן סדרתי, ועל כן הם השיטה האיטית ביותר
-ואינם סקאלאביליים.
-</para>
-
-<para>
-בהתחשב בנסיבות אלה, הכי טוב להשתמש בשמות מדוייקים בכל מקום שהדבר אפשרי.
-לדוגמה, אם השמות הנפוצים ביותר לשרת הם <literal>example.org</literal> ו <literal>www.example.org</literal>,
-יותר יעיל להגדיר אותם באופן מפורש:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org  *.example.org;
-    ...
-}
-</programlisting>
-
-מאשר להשתמש בשיטה המופשטת:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  .example.org;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-אם הגדרתם מספר גדול של שמות שרת, או שהגדרתם שמות שרת ארוכים מהרגיל,
-ייתכן ויהיה עליכם לכוונן את המאפיינים <literal>server_names_hash_max_size</literal>
-ו <literal>server_names_hash_bucket_size</literal> ברמת ה <i>http</i>.
-ערך ברירת המחדל של <literal>server_names_hash_bucket_size</literal>
-יכול להיות שווה ל 32, ל 64, או לערך אחר, בהתאם לגודל קו המטמון של המעבד שלכם.
-אם ברירת המחדל היא 32 ותגדירו
-&ldquo;too.long.server.name.example.org&rdquo; בתור שם שרת,
-אזי nginx ייכשל בעלייה ויציג את הודעת השגיאה הבאה:
-
-<programlisting>
-could not build the server_names_hash,
-you should increase server_names_hash_bucket_size: 32
-</programlisting>
-
-במקרה זה, עליכם להגדיר את ערך המאפיין לחזקה הבאה של 2:
-
-<programlisting>
-http {
-    server_names_hash_bucket_size  64;
-    ...
-</programlisting>
-
-אם הגדרתם כמות גדולה של שמות שרת, אתם עלולים לקבל את הודעת השגיאה הבאה:
-
-<programlisting>
-could not build the server_names_hash,
-you should increase either server_names_hash_max_size: 512
-or server_names_hash_bucket_size: 32
-</programlisting>
-
-עליכם לנסות קודם להגדיל את <literal>server_names_hash_max_size</literal>
-למספר קרוב למספר השרתים.
-רק אם זה לא עזר, או שזמן העלייה של nginx הוא ארוך בצורה מוגזמת,
-נסו להגדיל את <literal>server_names_hash_bucket_size</literal>.
-</para>
-
-<para>
-אם שרת הוא השרת היחיד עבור פורט האזנה, אזי nginx לא יבדוק שמות שרת בכלל
-(ולא יבנה גיבובים עבור פורט ההאזנה).
-אך, יש יוצא דופן אחד.
-אם <literal>server_name</literal> הוא ביטוי רגולרי עם לכידות,
-nginx חייב לבצע את הביטוי כדי לקבל את מה שנלכד בהן.
-</para>
-
-</section>
-
-
-<section id="compatibility"
-        name="תאימות">
-
-<para>
-<list type="bullet">
-
-<listitem>
-לכידת שמות בביטויים רגולריים נתמכה החל מגירסה 0.8.25.
-</listitem>
-
-<listitem>
-לכידת ביטויים רגולריים נתמכה החל מגירסה 0.7.40.
-
-</listitem>
-
-<listitem>
-שם שרת ריק &ldquo;&rdquo; נתמך החל מגירסה 0.7.12.
-</listitem>
-
-<listitem>
-שם שרת מסוג wildcard או ביטוי רגולרי נתמכו לשימוש כשם שרת ראשון החל מגירסה 0.6.25.
-</listitem>
-
-<listitem>
-שמות שרת כביטוי רגולרי נתמכו החל מגירסה 0.6.7.
-</listitem>
-
-<listitem>
-צורות Wildcard מסוג <literal>example.*</literal> נתמכו החל מגירסה 0.6.0.
-</listitem>
-
-<listitem>
-הצורה המיוחדת <literal>.example.org</literal> נתמכה החל מגירסה 0.3.18.
-</listitem>
-
-<listitem>
-הצורה <literal>*.example.org</literal> נתמכה החל מגירסה 0.1.13.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/he/docs/index.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="תיעוד nginx"
-         link="/he/docs/"
-         lang="he"
-         toc="no">
-
-
-<section id="introduction" name="הקדמה ל nginx">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="http/server_names.xml"/>
-</listitem>
-
-<listitem>
-<link doc="windows.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="howto" name="איך עושים ב nginx">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="http/converting_rewrite_rules.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/he/docs/windows.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="שימוש ב nginx במערכת ההפעלה חלונות"
-         link="/he/docs/windows.html"
-         lang="he">
-
-<section>
-
-<para>
-nginx/Windows משתמש ב API הטבעי של חלונות, Win32 API (ולא בשכבת אמולציה של Cygwin).
-נכון למועד כתיבת שורות אלה, שיטת היידוע <i>select</i> היא זו שנמצאת בשימוש,
-ולכן אין לצפות לרמת ביצועים גבוהה וליכולת גידול.
-עקב כך וגם בעקבות בעיות ידועות אחרות, nginx/Windows נחשבת כגירסת <i>בטא</i>.
-ישנה פונקציונליות כמעט מלאה ב nginx/Windows ביחס לגירסת Unix, חוץ מפילטר XSLT,
-פילטר תמונות, מודול GeoIP ושפת Perl משובצת.</para>
-
-<para>
-כדי להתקין את nginx/Windows, יש <link doc="../../en/download.xml">להוריד</link>
-את קובץ הזיפ של גירסת הפיתוח האחרונה <mainline_version />,
-כיוון שענף הפיתוח מכיל את כל התיקונים הידועים, בייחוד אלו הקשורים לחלונות.
-אחרי ההורדה, יש לפרוס את קובץ הזיפ,
-להיכנס לתיקיה nginx-<mainline_version />, ולהריץ את nginx.
-הנה דוגמא עבור תיקיית השורש של כונן C:
-
-<programlisting>
-cd c:\
-unzip nginx-<mainline_version />.zip
-cd nginx-<mainline_version />
-start nginx
-</programlisting>
-
-תוכלו להריץ את כלי שורת הפקודה <path>tasklist</path> כדי לראות תהליכים
-של nginx:
-
-<programlisting>
-C:\nginx-<mainline_version />&gt;tasklist /fi "imagename eq nginx.exe"
-
-Image Name           PID Session Name     Session#    Mem Usage
-=============== ======== ============== ========== ============
-nginx.exe            652 Console                 0      2 780 K
-nginx.exe           1332 Console                 0      3 112 K
-</programlisting>
-
-אחד מהתהליכים הוא התהליך הראשי (מנהל), והאחר הוא תהליך עובד.
-אם nginx לא מתחיל לפעול, יש לעיין בקובץ <path>logs\error.log</path> כדי לבדוק את הסיבה.
-אם קובץ הלוג לא נוצר, הסיבה צריכה להיות מדווחת ב Event Log של חלונות.
-אם הנכם מקבלים דף שגיאה במקום העמוד הרצוי, עליכם לעיין בקובץ  <path>logs\error.log</path> גם כן,
-כדי לראות מה הסיבה.
-</para>
-
-<para>
-nginx/Windows משתמש בתיקייה שממנה הוא הופעל בתור תיקיית הקידומת לכל
-הנתיבים היחסיים שבקובץ התצורה.
-בדוגמה שלעיל, תיקיית הקידומת תהיה
-<path>C:\nginx-<mainline_version />\</path>.
-על נתיבים בקובץ התצורה להיות בסגנון Unix בלבד, באמצעות לוכסנים קדמיים:
-
-<programlisting>
-access_log   logs/site.log;
-root         C:/web/html;
-</programlisting>
-</para>
-
-<para>
-nginx/Windows רץ כיישום קונסול סטנדרטי, ולא כשירות (service) במערכת,
-וניתן לנהלו באמצעות הפקודות הבאות:
-<table note="yes">
-
-<tr>
-<td width="20%">nginx -s stop</td>
-<td>יציאה מהירה</td>
-</tr>
-
-<tr>
-<td>nginx -s quit</td>
-<td>יציאה מסודרת</td>
-</tr>
-
-<tr>
-<td>nginx -s reload</td>
-<td>
-שינוי תצורה,
-הפעלת תהליך עובד חדש,
-סגירת תהליך עובד ישן באופן מסודר
-</td>
-</tr>
-
-<tr>
-<td>nginx -s reopen</td>
-<td>פתיחה מחדש של קובצי הלוג</td>
-</tr>
-
-</table>
-</para>
-
-</section>
-
-<section id="known_issues"
-        name="בעיות ידועות">
-
-<list type="bullet">
-
-<listitem>
-למרות שניתן להפעיל מספר תהליכים עובדים, רק אחד מהם עושה בפועל את העבודה.
-</listitem>
-
-<listitem>
-תהליך עובד לא יכול לטפל ביותר מ 1024 חיבורים פעילים בו זמנית.
-</listitem>
-
-<listitem>
-מודול המטמון ומודולים אחרים אשר דורשים תמיכה בזיכרון משותף, לא עובדים בחלונות
-ויסטה או גירסאות מאוחרות יותר, עקב הפעלת טכניקת address space layout randomization
-המופעלת בגירסאות אלה של חלונות.
-</listitem>
-
-</list>
-
-</section>
-
-<section id="possible_future_enhancements"
-        name="שיפורים עתידיים אפשריים">
-
-<list type="bullet">
-
-<listitem>
-הרצה כשירות במערכת (Service).
-</listitem>
-
-<listitem>
-שימוש ב I/O completion ports כשיטת יידוע.
-</listitem>
-
-<listitem>
-שימוש במספר נימי עובדים בתוך תהליך עובד אחד.
-</listitem>
-
-</list>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/he/index.xml
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE article SYSTEM "../../dtd/article.dtd">
-
-<article name="nginx"
-         link="/he/"
-         lang="he">
-
-
-<section>
-
-<para>
-nginx [נהגה: engine x] הוא שרת HTTP ופרוקסי הפוך, כמו גם  שרת פרוקסי לדואר,
-שנכתב על ידי <link url="http://sysoev.ru/en/">Igor Sysoev</link>.
- הוא נמצא בשימוש כבר יותר מחמש שנים באתרים רוסיים עמוסים במיוחד, כגון
-<link url="http://www.rambler.ru">Rambler</link>
-(ו <link url="http://ramblermedia.com">RamblerMedia.com</link>).
-לפי חברת Netcraft, השרת nginx הגיש או נתן שירות ל
-<link url="http://news.netcraft.com/archives/2010/04/15/april_2010_web_server_survey.html">4.70%
-מהאתרים העמוסים ביותר באפריל 2010</link>.
-הנה כמה סיפורי הצלחה:
-<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>
-קוד המקור הוא בעל רשיון
-<link url="/LICENSE">2-פיסקאות דמוי רשיון BSD</link>.
-</para>
-
-</section>
-
-
-<section id="basic_http_features"
-        name="תכונות HTTP בסיסיות">
-
-<para>
-<list type="bullet">
-
-<listitem>
-הגשת קבצים סטטיים וקובצי אינדקס, ואינדוקס אוטומטי;
-מטמון file descriptor-ים פתוחים;
-</listitem>
-
-<listitem>
-פרוקסי הפוך מואץ כולל מטמון;
-ביזור עומסים פשוט ושרידות מפני תקלות;
-</listitem>
-
-<listitem>
-תמיכה בהאצה עם מטמון של שרתי FastCGI מרוחקים;
-ביזור עומסים פשוט ושרידות מפני תקלות;
-</listitem>
-
-<listitem>
-ארכיטקטורה מודולרית. פילטרים המבצעים gzip, טווחי בתים (byte ranges),
-תשובות מסוג chunked, תמיכה ב XSLT, SSI ופילטר שינוי גודל תמונות.
-ריבוי הכללות SSI בדף בודד יכול להיות מבוצע באופן מקבילי אם הן מטופלות
-על ידי FastCGI או שרתים ש nginx הוא פרוקסי עבורם.
-</listitem>
-
-<listitem>
-תמיכה ב SSL ו TLS SNI.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="other_http_features"
-        name="תכונות HTTP אחרות">
-
-<para>
-<list type="bullet">
-
-<listitem>
-שרתים וירטואליים מבוססי IP ושם (הוסט);
-</listitem>
-
-<listitem>
-תמיכה ב keep-alive וב pipelining לחיבורים;
-</listitem>
-
-<listitem>
-תצורה גמישה;
-</listitem>
-
-<listitem>
-קביעת תצורה מחדש ואף שדרוג מקוון ללא כל הפרעה לעיבוד
-בקשות הלקוחות;
-</listitem>
-
-<listitem>
-פורמטים ללוג הגישה, כתיבה ללוג באמצעות חוצץ, והחלפת לוגים מהירה;
-</listitem>
-
-<listitem>
-הפנייה באמצעות קודי שגיאה 3xx-5xx;
-</listitem>
-
-<listitem>
-מודול rewrite;
-</listitem>
-
-<listitem>
-בקרת גישה המבוססת על כתובת IP של הלקוח וגם אימות מסוג HTTP Basic;
-</listitem>
-
-<listitem>
-המתודות PUT, DELETE, MKCOL, COPY ו MOVE;
-</listitem>
-
-<listitem>
-סטרימינג של FLV;
-</listitem>
-
-<listitem>
-הגבלת מהירות;
-</listitem>
-
-<listitem>
-הגבלה של מספר החיבורים בו זמנית או מספר הבקשות מכתובת אחת.
-</listitem>
-
-<listitem>
-perl משובץ.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="mail_proxy_server_features"
-        name="תכונות פרוקסי דואר">
-
-<para>
-<list type="bullet">
-
-<listitem>
-הפניית משתמשים לשרתי IMAP/POP3 אחוריים בהתבסס על שרת אימות HTTP חיצוני;
-</listitem>
-
-<listitem>
-אימות משתמש באמצעות שרת אימות HTTP חיצוני והפניית חיבור לשרת SMTP פנימי;
-</listitem>
-
-<listitem>
-מתודות אימות:
-
-<list type="bullet">
-
-<listitem>
-POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
-</listitem>
-
-<listitem>
-IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
-</listitem>
-
-<listitem>
-SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
-</listitem>
-
-</list>
-</listitem>
-
-<listitem>
-תמיכה בהצפנת SSL;
-</listitem>
-
-<listitem>
-תמיכה ב STARTTLS ו STLS.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="architecture_and_scalability"
-        name="ארכיטקטורה ויכולת גידול">
-
-<para>
-<list type="bullet">
-
-<listitem>
-תהליך ראשי אחד ומספר תהליכי עובדים.
-תהליכי העובדים רצים בתור משתמש ללא הרשאות;
-</listitem>
-
-<listitem>
-שיטות יידוע: kqueue (במערכות FreeBSD 4.1 ומעלה),
-epoll (במערכות לינוקס 2.6 ומעלה), סיגנלי rt (במערכות לינוקס 2.2.19 ומעלה),
-<path>/dev/poll</path> (במערכות סולאריס 7 11/99 ומעלה), event ports (במערכות סולאריס 10),
-select, ואף poll;
-</listitem>
-
-<listitem>
-תמיכה עבור תכונות kqueue שונות כולל  EV_CLEAR ו EV_DISABLE
-(כדי לבטל אירועים זמנית), NOTE_LOWAT, EV_EOF, מספר קודי מידע ושגיאה;
-</listitem>
-
-<listitem>
-תמיכה ב sendfile (במערכות FreeBSD 3.1 ומעלה, לינוקס 2.2 ומעלה ו Mac OS X 10.5), תמיכה ב sendfile64 (לינוקס 2.4.21 ומעלה),
-ו sendfilev (סולאריס 8 7/01 ומעלה);
-</listitem>
-
-<listitem>
-File AIO (במערכות FreeBSD 4.3 ומעלה ולינוקס 2.6.22 ומעלה);
-</listitem>
-
-<listitem>
-תמיכה ב Accept-filters (במערכות FreeBSD 4.1 ומעלה) ו TCP_DEFER_ACCEPT (במערכות לינוקס 2.4 ומעלה)
-</listitem>
-
-<listitem>
-10,000 חיבורי HTTP לא פעילים במצב keep-alive תופסים נפח זיכרון העומד על בערך
-12.5M;
-</listitem>
-
-<listitem>
-פעולות העתקת מידע מבוצעות באופן נדיר ככל האפשר.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="tested_os_and_platforms"
-        name="מערכות הפעלה ופלטפורמות בדוקות">
-
-<para>
-<list type="bullet">
-
-<listitem>
-FreeBSD 3&mdash;8 / i386; FreeBSD 5&mdash;8 / amd64;
-</listitem>
-
-<listitem>
-לינוקס 2.2&mdash;2.6 / i386; לינוקס 2.6 / amd64;
-</listitem>
-
-<listitem>
-סולאריס 9 / i386, sun4u; סולאריס 10 / i386, amd64, sun4v;
-</listitem>
-
-<listitem>
-MacOS X / ppc, i386;
-</listitem>
-
-<listitem>
-חלונות XP, חלונות סרבר 2003.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-</article>
--- a/xml/i18n.xml
+++ b/xml/i18n.xml
@@ -43,47 +43,4 @@ for recent changes.</item>
 для ознакомления с последними изменениями.</item>
 </text>
 
-<text lang="cn">
-<item id="and">和</item>
-<item id="author">作者:</item>
-<item id="editor">编辑:</item>
-<item id="translator">翻译:</item>
-<item id="syntax">语法</item>
-<item id="default">默认值</item>
-<item id="context">上下文</item>
-<item id="context.any">任意</item>
-<item id="directive.version">这个指令出现在版本</item>
-<item id="directive.versions">这个指令出现在版本</item>
-<item id="dirindex">指令目录</item>
-<item id="outdated">翻译内容可能已经过旧。
-你可以通过 <origin>英文版本</origin>
-查看最近的更新。</item>
-</text>
-
-<text lang="ja">
-<item id="author">作成:</item>
-<item id="translator">翻訳:</item>
-</text>
-
-<text lang="he">
-<item id="author">נכתב על ידי</item>
-<item id="translator">תורגם על ידי</item>
-</text>
-
-<text lang="tr">
-<item id="author">yazan:</item>
-<item id="translator">çeviren:</item>
-</text>
-
-<text lang="it">
-<item id="and">e</item>
-<item id="author">scritto da</item>
-<item id="editor">a cura di</item>
-<item id="translator">tradotto da</item>
-<item id="dirindex">Elenco alfabetico delle direttive</item>
-<item id="outdated">Questa traduzione potrebbe essere obsoleta.
-Verifica la <origin>versione in inglese</origin>
-per gli aggiornamenti piu' recenti.</item>
-</text>
-
 </i18n>
deleted file mode 100644
--- a/xml/it/GNUmakefile
+++ /dev/null
@@ -1,21 +0,0 @@
-DOCS =									\
-		install							\
-		windows							\
-		events							\
-		syntax							\
-		control							\
-		hash							\
-		http/request_processing					\
-		http/server_names					\
-		http/configuring_https_servers				\
-		debugging_log						\
-		http/converting_rewrite_rules				\
-		howto_build_on_win32					\
-		contributing_changes					\
-		beginners_guide						\
-		configure						\
-
-TOP =									\
-		download						\
-		support							\
-		linux_packages						\
deleted file mode 100644
--- a/xml/it/docs/beginners_guide.xml
+++ /dev/null
@@ -1,454 +0,0 @@
-<!--
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Guida per il principiante"
-         link="/it/docs/beginners_guide.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="1">
-
-<section>
-
-<para>
-La presente guida fornisce una introduzione a nginx e descrive alcune
-semplici funzionalità per il quale può essere utilizzato.
-Nel seguito si presuppone che nginx sia gia' stato installato;
-in caso contrario fare riferimento alla pagina
-<link doc="install.xml"/>.
-La presente guida spiega come avviare, come fermare e come ricaricare
-la configurazione di nginx, descrive brevemente la struttura del file
-di configurazione, spiega come configurare nginx per servire contenuti statici,
-come configurarlo per l'uso come proxy server,
-e come configurarlo per l'uso con un'applicazione FastCGI.
-</para>
-
-<para>
-nginx ha un processo master e numerosi processi worker:
-lo scopo principale del processo master e' leggere e interpretare la configurazione,
-e mantenere i processi worker attivi;
-a loro volta, i processi worker si occupano di gestire effettivamente le richieste.
-nginx utilizza un modello event-based e meccanismi dipendenti dal sistema operativo
-per distribuire con efficienza le richieste fra i processi worker.
-Il numero di processi worker e' definito nel file di configurazione,
-e puo' sia essere fisso,
-sia essere regolato automaticamente in base al numero di core CPU disponibili
-(vedere <link doc="ngx_core_module.xml" id="worker_processes"/>).
-</para>
-
-<para>
-La maniera in cui nginx e i suoi moduli lavorano e' determinata nel file di configurazione;
-per default, tale file si chiama
-<path>nginx.conf</path>
-e si trova in una delle directory:
-<path>/usr/local/nginx/conf</path> ,
-<path>/etc/nginx</path> ,
-<path>/usr/local/etc/nginx</path> .
-</para>
-
-</section>
-
-
-<section id="control" name="Avvio, arresto e ricaricamento della configurazione">
-
-<para>
-Per far partire nginx, avviare il file eseguibile.
-Una volta partito, nginx puo' essere controllato invocando l'eseguibile con il parametro
-<literal>-s</literal> .
-Usare la seguente sintassi:
-<programlisting>
-nginx -s <i>signal</i>
-</programlisting>
-Dove <i>signal</i> e' uno dei seguenti:
-<list type="bullet">
-<listitem>
-<literal>stop</literal>&mdash;arresto rapido
-</listitem>
-<listitem>
-<literal>quit</literal>&mdash;arresto controllato
-</listitem>
-<listitem>
-<literal>reload</literal>&mdash;ricaricamento della configurazione
-</listitem>
-<listitem>
-<literal>reopen</literal>&mdash;riapertura del file di log
-</listitem>
-</list>
-Ad esempio, per fermare il processo nginx ma attendendo che finisca di servire
-le richieste correnti, va eseguito il seguente comando:
-<programlisting>
-nginx -s quit
-</programlisting>
-<note>Questo comando dovrebbe essere eseguito dallo stesso utente che ha avviato nginx.</note>
-</para>
-
-<para>
-Le modifiche al file di configurazione non saranno applicate sinche'
-nginx non e' riavviato o non riceve il comando di ricaricamento della configurazione.
-Per ricaricare la configurazione, eseguire:
-<programlisting>
-nginx -s reload
-</programlisting>
-</para>
-
-<para>
-Quando il processo master riceve il segnale di ricaricamento della configurazione,
-verifica la validita' sintattica e tenta di applicare la configurazione riportata nel relativo file.
-Se ha successo, il processo master avvia nuovi processi worker e invia messaggi di chiusura a quelli vecchi,
-che smettono di accettare nuove connessioni ma continuano a servire le richieste correnti sinche' non sono
-state del tutto completate, dopo di che terminano.
-Se la nuova configurazione non risulta corretta, oppure se non e' possibile applicarla,
-il processo master continua a lavorare con la configurazione precedente.
-</para>
-
-<para>
-E' anche possibile inviare un segnale ai processi nginx tramite i normali comandi Unix,
-quale ad esempio <command>kill</command>, che invia un segnale al processo individuato tramite il relativo ID;
-per default, l'ID del processo master di nginx e' scritto nel file <path>nginx.pid</path>
-nella directory
-<path>/usr/local/nginx/logs</path> oppure
-<path>/var/run</path> .
-Ad esempio, se l'ID del processo master e' 1628, per inviare il segnale QUIT,
-che causa l'arresto controllato, bisogna eseguire il comando:
-<programlisting>
-kill -s QUIT 1628
-</programlisting>
-Per ottenere la lista di tutti in processi nginx, e' possibile usare vari comandi,
-fra cui ad esempio <command>ps</command>
-nella maniera seguente:
-<programlisting>
-ps -ax | grep nginx
-</programlisting>
-Per ulteriori informazioni su come inviare segnali a nginx, fare riferimento a
-<link doc="control.xml"/>.
-</para>
-
-</section>
-
-
-<section id="conf_structure" name="Struttura del file di configurazione">
-
-<para>
-nginx e' costituito da moduli che sono controllati da direttiva specificate
-nel file di configurazione.
-Le direttive possono essere semplici o a blocco.
-Una direttiva semplice e' caratterizzata dal nome seguito da parametri separati da spazi,
-e termina con punto e virgola (<literal>;</literal>).
-Una direttiva a blocco ha la stessa struttura di una direttiva semplice,
-ma, invece che con punto e virgola, termina con un insieme di istruzioni aggiuntive racchiuse
-fra parentesi graffe ( <literal>{</literal> e <literal>}</literal> ).
-Una direttiva che puo' avere altre direttive all'interno delle parentesi graffe e' chiamata
-contesto (ad esempio:
-<link doc="ngx_core_module.xml" id="events"/>,
-<link doc="http/ngx_http_core_module.xml" id="http"/>,
-<link doc="http/ngx_http_core_module.xml" id="server"/>,
-e
-<link doc="http/ngx_http_core_module.xml" id="location"/>).
-</para>
-
-<para>
-Le direttive del file di configurazione che non sono all'interno di alcun
-contesto sono considerate facenti parte del contesto
-<link doc="ngx_core_module.xml">main</link>.
-Le direttive <literal>events</literal> e <literal>http</literal>
-appartengono al contesto <literal>main</literal>, la direttiva <literal>server</literal>
-al contesto <literal>http</literal>,
-la direttiva <literal>location</literal> al contesto <literal>server</literal>.
-</para>
-
-<para>
-Tutto cio' che in una riga segue il simbolo <literal>#</literal> e' considerato un commento.
-</para>
-
-</section>
-
-
-<section id="static" name="Servizio di contenuti statici">
-
-<para>
-Un compito importante di un web server e' costituito dal servizio
-di file, quali immagini o pagine HTML statiche.
-Di seguito si implementa un esempio in cui, a seconda della richiesta,
-i file sono serviti prendendoli da varie directory locali: <path>/data/www</path>
-(che puo' contenere file HTML) e <path>/data/images</path>
-(che contiene immagini).
-Per tale implementazione e' necessaria la modifica del file di configurazione,
-con l'aggiunta,
-all'interno di un blocco <link doc="http/ngx_http_core_module.xml" id="http"/>,
-di un blocco <link doc="http/ngx_http_core_module.xml" id="server"/>
-a sua volta contenente due blocchi <link doc="http/ngx_http_core_module.xml" id="location"/>.
-</para>
-
-<para>
-Anzitutto, creare le directory <path>/data/www</path> e <path>/data/images</path>,
-e aggiungere nella prima un file <path>index.html</path> contenente un testo qualsiasi,
-nella seconda una immagine a caso.
-</para>
-
-<para>
-Quindi, aprire il file di configurazione;
-si puo' notare che contiene gia' diversi esempi di blocchi <literal>server</literal>,
-per la maggior parte inattivati da commenti;
-inattivare con commenti tutto il blocco <literal>http</literal>, e scriverne uno nuovo:
-<programlisting>
-http {
-    server {
-    }
-}
-</programlisting>
-In generale, il file di configurazione puo' includere numerosi blocchi <literal>server</literal>,
-<link doc="http/request_processing.xml">distinti</link> in base alla porta su cui
-sono in <link doc="http/ngx_http_core_module.xml" id="listen">ascolto</link> e al
-<link doc="http/server_names.xml">nome del server</link>.
-Una volta che nginx ha deciso quale <literal>server</literal> deve processare una data richiesta,
-confronta l'URI presente nell'header della stessa con i parametri delle direttive
-<literal>location</literal> definite all'interno del blocco <literal>server</literal>.
-</para>
-
-<para>
-Aggiungere il seguente blocco <literal>location</literal>
-al blocco <literal>server</literal>:
-<programlisting>
-location / {
-    root /data/www;
-}
-</programlisting>
-Questo blocco <literal>location</literal> fa riferimento al prefisso “<literal>/</literal>”,
-da confrontare con l'URI della richiesta:
-se la richiesta corrisponde, l'URI viene aggiunto al path specificato dalla
-direttiva <link doc="http/ngx_http_core_module.xml" id="root"/>,
-in questo caso cioe' a <path>/data/www</path> ,
-per definire sul file system locale il path al file richiesto.
-Se i blocchi <literal>location</literal> che corrispondono sono piu' di uno,
-nginx seleziona quello con il prefisso piu' lungo;
-il blocco <literal>location</literal> dell'esempio riguarda il prefisso
-piu' breve in assoluto, di lunghezza uno, quindi e' effettivamente usato
-solo se tutti gli altri blocchi <literal>location</literal> non corrispondono.
-</para>
-
-<para>
-Tornando all'esempio, aggiungere un secondo blocco <literal>location</literal>:
-<programlisting>
-location /images/ {
-    root /data;
-}
-</programlisting>
-In questo caso ci sara' corrispondenza con
-le richieste che iniziano con <literal>/images/</literal>
-(anche <literal>location /</literal> corrisponde alla richiesta,
-ma ha un prefisso piu' breve e quindi priorita' inferiore).
-La configurazione risultante del blocco <literal>server</literal> risulta quindi:
-<programlisting>
-server {
-    location / {
-        root /data/www;
-    }
-
-    location /images/ {
-        root /data;
-    }
-}
-</programlisting>
-Tale configurazione e' effettivamente funzionante,
-con il server in ascolto sulla porta standard 80 e accessibile
-sulla macchina locale a <literal>http://localhost/</literal> .
-In risposta alle richieste di URI che iniziano con <literal>/images/</literal> ,
-il server inviera' file presi dalla directory <path>/data/images</path> ;
-ad esempio, in risposta ad una richiesta
-<literal>http://localhost/images/example.png</literal>
-nginx inviera' il file <path>/data/images/example.png</path> .
-Se tale file non esiste, nginx inviera' una risposta che indica
-l'errore 404.
-Richieste di URI che non iniziano con <literal>/images/</literal>
-saranno mappate sulla directory <path>/data/www</path> ;
-ad esempio, in risposta ad una richiesta
-<literal>http://localhost/some/example.html</literal>
-nginx inviera' il file <path>/data/www/some/example.html</path> .
-</para>
-
-<para>
-Per applicare la nuova configurazione, avviare nginx se e' spento;
-se e' gia' attivo, inviare il segnale <literal>reload</literal> al processo master,
-eseguendo:
-<programlisting>
-nginx -s reload
-</programlisting>
-</para>
-
-<para>
-<note>
-Nel caso in cui qualcosa non vada come atteso, e' possibile cercare
-di capire cosa e' successo verificandolo nei file <path>access.log</path> e
-<path>error.log</path>, presenti nella directory <path>/usr/local/nginx/logs</path> o
-<path>/var/log/nginx</path> .
-</note>
-</para>
-
-</section>
-
-
-<section id="proxy" name="Configurare un semplice proxy server">
-
-<para>
-Uno degli usi piu' frequenti di nginx prevede la configurazione come proxy server,
-vale a dire un server che riceve le richieste dai client, le passa ai server remoti,
-riceve da essi le risposte, e le reinvia ai client.
-</para>
-
-<para>
-Di seguito si configura un semplice proxy server, il quale serve le richieste
-di immagini con file da una directory locale, e invia invece tutte le altre
-richieste a un ulteriore server web.
-Nell'esempio, entrambi i server saranno definiti su una singola istanza di nginx..
-</para>
-
-<para>
-Per iniziare, definire il server web aggiuntivo inserendo nel file di configurazione di
-nginx un ulteriore blocco <literal>server</literal> con il contenuto seguente:
-<programlisting>
-server {
-    listen 8080;
-    root /data/up1;
-
-    location / {
-    }
-}
-</programlisting>
-Si tratta di un semplice server in ascolto sulla porta 8080
-(in precedenza la direttiva <literal>listen</literal> non e' stata specificata
-in quanto e' stata usata la porta standard 80), che mappa tutte le
-richieste sulla directory <path>/data/up1</path> del file system locale.
-Creare tale directory, e inserire in essa un file <path>index.html</path> .
-Notare che la direttiva <literal>root</literal> e' posta nel
-contesto <literal>server</literal> ; tale direttiva <literal>root</literal> e' usata
-quando il blocco <literal>location</literal> scelto per servire una richiesta
-non include una direttiva <literal>root</literal> propria.
-</para>
-
-<para>
-Procedere usando la configurazione del server della sezione precedente e
-modificandola per farne un proxy server.
-Nel primo blocco <literal>location</literal>, inserire la direttiva
-<link doc="http/ngx_http_proxy_module.xml" id="proxy_pass"/>
-specificando come parametro il protocollo, il nome e la porta del server
-web aggiuntivo (in questo caso <literal>http://localhost:8080</literal> ):
-<programlisting>
-server {
-    location / {
-        proxy_pass http://localhost:8080;
-    }
-
-    location /images/ {
-        root /data;
-    }
-}
-</programlisting>
-</para>
-
-<para>
-A questo punto modificare il secondo blocco <literal>location</literal>, che al momento
-mappa le richieste con il prefisso <literal>/images/</literal> sui file nella directory
-<path>/data/images</path> , per fare in modo che risponda alle richieste con le
-tipiche estensioni file delle immagini.
-Il blocco <literal>location</literal> sara' il seguente:
-<programlisting>
-location ~ \.(gif|jpg|png)$ {
-    root /data/images;
-}
-</programlisting>
-Il parametro e' una espressione regolare che corrisponde a tutti gli URI
-che terminano con <path>.gif</path>, <path>.jpg</path>, o <path>.png</path>
-(in nginx le espressioni regolari normalmente iniziano con <literal>~</literal>).
-La richiesta corrispondente sara' mappata sulla directory <path>/data/images</path> .
-</para>
-
-<para>
-Per decidere quale blocco <literal>location</literal> debba servire una richiesta,
-nginx per prima cosa verifica le direttive
-<link doc="http/ngx_http_core_module.xml" id="location"/>
-che riportano la specifica di un prefisso, registrando quella con il piu' lungo
-prefisso che corrisponde, quindi verifica quelle con una espressione regolare;
-se c'e' corrispondenza con una espressione regolare, nginx sceglie tale
-<literal>location</literal>, altrimenti sceglie quella registrata in precedenza.
-</para>
-
-<para>
-Alla fine la configurazione risultante di un proxy server e' la seguente:
-<programlisting>
-server {
-    location / {
-        proxy_pass http://localhost:8080/;
-    }
-
-    location ~ \.(gif|jpg|png)$ {
-        root /data/images;
-    }
-}
-</programlisting>
-Tale server selezionera' le richieste che terminano in <path>.gif</path>,
-<path>.jpg</path> o <path>.png</path> e le mappera' sulla directory
-<path>/data/images</path> (aggiungendo l'URI al parametro della direttiva
-<literal>root</literal>), mentre invece passera' tutte le altre richieste al web
-server configurato in precedenza.
-</para>
-
-<para>
-Per applicare la nuova configurazione, inviare il segnale <literal>reload</literal>
-ad nginx, come descritto nella sezione precedente.
-</para>
-
-<para>
-Ci sono molte <link doc="http/ngx_http_proxy_module.xml">more</link>
-direttive che possono essere usate nella configurazione di un proxy.
-</para>
-
-</section>
-
-
-<section id="fastcgi" name="Configurare il proxying FastCGI">
-
-<para>
-nginx puo' essere usato per dirigere le richieste ad uno o piu' server
-FastCGI che eseguono applicazioni scritte con vari framework e linguaggi di
-programmazione, ad esempio PHP.
-</para>
-
-<para>
-La configurazione piu' semplice di nginx che consente di lavorare con un server
-FastCGI, richiede l'uso della direttiva
-<link doc="http/ngx_http_fastcgi_module.xml" id="fastcgi_pass"/>
-al posto della direttiva <literal>proxy_pass</literal>,
-e della direttiva <link doc="http/ngx_http_fastcgi_module.xml" id="fastcgi_param"/>
-per impostare i parametri passati al server FastCGI.
-Nel seguito si suppone che il server FastCGI sia accessibile a <literal>localhost:9000</literal> .
-Prendendo la configurazione di un proxy nella sezione precedente come base,
-sostituire la direttiva <literal>proxy_pass</literal> con la direttiva <literal>fastcgi_pass</literal>
-e cambiare il relativo parametro in <literal>localhost:9000</literal> .
-Nel caso del PHP, il parametro <literal>SCRIPT_FILENAME</literal> e' usato per determinare
-il nome dello script, ed il parametro <literal>QUERY_STRING</literal> e' usato per
-passare i parametri della richiesta.
-La configurazione risulta quindi:
-<programlisting>
-server {
-    location / {
-        fastcgi_pass  localhost:9000;
-        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
-        fastcgi_param QUERY_STRING    $query_string;
-    }
-
-    location ~ \.(gif|jpg|png)$ {
-        root /data/images;
-    }
-}
-</programlisting>
-Tale configurazione realizza un server che inoltra tutte le richieste
-(a parte quelle per immagini statiche) tramite il protocollo FastCGI
-ad un server esterno che opera su
-<literal>localhost:9000</literal> .
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/configure.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Compilare i sorgenti di nginx"
-         link="/it/docs/configure.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="4">
-
-<section>
-
-<para>
-La compilazione si configura tramite il comando <command>configure</command>,
-che definisce vari aspetti del sistema, fra cui i metodi che nginx puo'
-usare per processare le connessioni; alla fine viene creato un <path>Makefile</path>.
-Il comando <command>configure</command> supporta, fra gli altri, i seguenti parametri:
-<list type="bullet">
-
-<listitem>
-<para>
-<literal>--prefix=<value>path</value></literal>&mdash;
-definisce la directory che conterra' i file del server.
-La medesima directory sara' pure usata per tutti i path relativi
-definiti da <command>configure</command> (a parte i path ai sorgenti
-delle librerie) e nel file di configurazione <path>nginx.conf</path>.
-Per default vale <path>/usr/local/nginx</path>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--sbin-path=<value>path</value></literal>&mdash;
-stabilisce il nome del file eseguibile di nginx.
-Tale valore e' usato solo nel corso dell'installazione.
-Per default il file eseguibile e' chiamato
-<path><value>prefix</value>/sbin/nginx</path>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--conf-path=<value>path</value></literal>&mdash;
-stabilisce il nome del file di configurazione <path>nginx.conf</path>.
-In ogni caso, nginx puo' sempre essere avviato con un file di
-configurazione differente, specificando quest'ultimo tramite il parametro
-a linea di comando <nobr><literal>-c <value>file</value></literal></nobr>.
-Per default il file di configurazione e'
-<path><value>prefix</value>/conf/nginx.conf</path>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--pid-path=<value>path</value></literal>&mdash;
-stabilisce il nome del file nginx.pid in cui e' registrato l'ID
-del processo principale.
-Dopo l'installazione, il nome del file puo' sempre essere modificato
-tramite la direttiva <link doc="ngx_core_module.xml" id="pid"/>
-del file di configurazione <path>nginx.conf</path>.
-Per default il file contenente il pid e'
-<path><value>prefix</value>/logs/nginx.pid</path>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--error-log-path=<value>path</value></literal>&mdash;
-stabilisce il nome del principale file di diagnostica in cui sono
-registrati gli errori e gli avvisi.
-Dopo l'installazione, il nome del file puo' sempre essere modificato
-tramite la direttiva <link doc="ngx_core_module.xml" id="error_log"/>
-del file di configurazione <path>nginx.conf</path>.
-Per default il file degli errori e'
-<path><value>prefix</value>/logs/error.log</path>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--http-log-path=<value>path</value></literal>&mdash;
-stabilisce il nome del principale file di log delle richieste
-al server HTTP.
-Dopo l'installazione, il nome del file puo' sempre essere modificato tramite
-la direttiva <link doc="http/ngx_http_log_module.xml" id="access_log"/>
-del file di configurazione <path>nginx.conf</path>.
-Per default il file di log delle richieste e'
-<path><value>prefix</value>/logs/access.log</path>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--user=<value>name</value></literal>&mdash;
-stabilisce il nome di un utente non privilegiato le cui credenziali saranno
-usate dai processi worker.
-Dopo l'installazione, l'utente puo' sempre essere modificato tramite
-la direttiva <link doc="ngx_core_module.xml" id="user"/>
-del file di configurazione <path>nginx.conf</path>.
-L'utente di default e' nobody.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--group=<value>name</value></literal>&mdash;
-stabilisce il nome di un gruppo le cui credenziali saranno
-usate dai processi worker.
-Dopo l'installazione, il gruppo puo' sempre essere modificato tramite
-la direttiva <link doc="ngx_core_module.xml" id="user"/>
-del file di configurazione <path>nginx.conf</path>.
-Per default il gruppo e scelto fra uno di quelli degli utenti non priviliegiati.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--with-select_module</literal><br/>
-<literal>--without-select_module</literal>&mdash;
-abilita o disabilita la compilazione del modulo che consente al server
-di utilizzare il metodo <c-func>select</c-func>.
-Tale modulo e' compilato automaticamente nel caso in cui la piattaforma non
-supporti metodi piu' appropriati, quali kqueue, epoll, rtsig, o /dev/poll.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--with-poll_module</literal><br/>
-<literal>--without-poll_module</literal>&mdash;
-abilita o disabilita la compilazione del modulo che consente al server
-di utilizzare il metodo <c-func>poll</c-func>.
-Tale modulo e' compilato automaticamente nel caso in cui la piattaforma non
-supporti metodi piu' appropriati, quali kqueue, epoll, rtsig, o /dev/poll.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--without-http_gzip_module</literal>&mdash;
-disabilita la compilazione del modulo che
-<link doc="http/ngx_http_gzip_module.xml">comprime le risposte</link>
-del server HTTP.
-Per la compilazione e l'utilizzo di questo modulo e' richiesta la libreria zlib.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--without-http_rewrite_module</literal>&mdash;
-disabilita la compilazione del modulo che consente al server HTTP di
-<link doc="http/ngx_http_rewrite_module.xml">redirigere e cambiare l'URI
-delle richieste</link>.
-Per la compilazione e l'utilizzo di questo modulo e' richiesta la libreria PCRE.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--without-http_proxy_module</literal>&mdash;
-disabilita la compilazione del
-<link doc="http/ngx_http_proxy_module.xml">modulo di proxy</link>
-del server HTTP.
-<!--
-The MD5 library is required to build and run this module.
--->
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--with-http_ssl_module</literal>&mdash;
-abilita la compilazione del modulo che aggiunge al server HTTP il
-<link doc="http/ngx_http_ssl_module.xml">supporto al protocollo HTTPS</link>.
-Per default tale modulo non e' compilato.
-Per la compilazione e l'utilizzo di questo modulo e' richiesta la libreria OpenSSL.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--with-pcre=<value>path</value></literal>&mdash;
-indica il path ai sorgenti della libreria PCRE.
-E' necessario scaricare dal sito di <link url="http://www.pcre.org">PCRE</link>
-la distribuzione della libreria (versioni da 4.4 a 8.32), ed estrarla.
-Al resto ci pensano i comandi <command>./configure</command> e
-<command>make</command> di nginx.
-La libreria e' richiesta per il supporto alle espressioni regolari nella
-direttiva <link doc="http/ngx_http_core_module.xml" id="location"/> e per il
-modulo <link doc="http/ngx_http_rewrite_module.xml">ngx_http_rewrite_module</link>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--with-pcre-jit</literal>&mdash;
-compila la libreria PCRE con il supporto “just-in-time"
-(1.1.12, direttiva <link doc="ngx_core_module.xml" id="pcre_jit"/>).
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--with-zlib=<value>path</value></literal>&mdash;
-indica il path ai sorgenti della libreria zlib.
-E' necessario scaricare dal sito di <link url="http://zlib.net">zlib</link>
-la distribuzione della libreria (versioni da 1.1.3 a 1.2.7), ed estrarla.
-Al resto ci pensano i comandi <command>./configure</command> e
-<command>make</command> di nginx.
-La libreria e' richiesta per il modulo
-<link doc="http/ngx_http_gzip_module.xml">ngx_http_gzip_module</link>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--with-cc-opt=<value>parameters</value></literal>&mdash;
-definisce i parametri che saranno aggiunti alla variabile CFLAGS.
-Nel caso in cui si stia usando la libreria PCRE in ambiente FreeBSD,
-bisognerebbe specificare <literal>--with-cc-opt="-I /usr/local/include"</literal>.
-Se il numero di file supportati da <c-func>select</c-func> deve essere
-incrementato, e' possibile farlo anche con questo parametro, ad esempio con:
-<literal>--with-cc-opt="-D FD_SETSIZE=2048"</literal>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<literal>--with-ld-opt=<value>parameters</value></literal>&mdash;
-definisce i parametri aggiuntivi che saranno usati durante il linking.
-Nel caso in cui si stia usando la libreria PCRE in ambiente FreeBSD,
-bisognerebbe specificare <literal>--with-ld-opt="-L /usr/local/lib"</literal>.
-</para>
-</listitem>
-
-</list>
-
-</para>
-
-<para>
-Un esempio d'uso dei parametri (da scrivere tutti su un'unica linea):
-<programlisting>
-./configure
-    --sbin-path=/usr/local/nginx/nginx
-    --conf-path=/usr/local/nginx/nginx.conf
-    --pid-path=/usr/local/nginx/nginx.pid
-    --with-http_ssl_module
-    --with-pcre=../pcre-4.4
-    --with-zlib=../zlib-1.1.3
-</programlisting>
-</para>
-
-<para>
-Dopo la configurazione, nginx e' compilato ed installato tramite
-il comando <command>make</command>.
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/contributing_changes.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Come contribuire"
-         link="/it/docs/contributing_changes.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="1">
-
-<section id="getting_sources" name="Ottenere i sorgenti">
-
-<para>
-Il codice sorgente e' gestito tramite
-<link url="http://mercurial.selenic.com">Mercurial</link>.
-L'<link url="http://hg.nginx.org/nginx">archivio</link> puo' essere
-clonato con il comando:
-<programlisting>
-hg clone http://hg.nginx.org/nginx
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="formatting_changes" name="Formattazione delle modifiche">
-
-<para>
-Il codice delle modifiche dovrebbe essere formattato secondo lo stile di nginx.
-La formattazione non deve fare affidamento su caratteristiche proprie
-dell'editor, dovrebbe invece seguire alcune regole base:
-<list type="bullet">
-
-<listitem>
-la larghezza del testo non deve superare gli 80 caratteri
-</listitem>
-
-<listitem>
-l'indentazione va ottenuta con blocchi di quattro spazi
-</listitem>
-
-<listitem>
-non va usato il tab (tabulatore)
-</listitem>
-
-<listitem>
-in un file, i diversi blocchi logici di codice vanno separati con due linee vuote
-</listitem>
-
-</list>
-E' bene esaminare il codice di nginx esistente, e cercare di riprodurne lo stile
-di formattazione nel proprio codice: e' piu' facile che una modifica sia accettata
-se lo stile e' simile a quello del resto del codice.
-</para>
-
-<para>
-L'esecuzione di un commit sulle modifiche crea un
-<link url="http://mercurial.selenic.com/wiki/ChangeSet">changeset</link>
-Mercurial; bisogna assicurarsi che siano corretti l'indirizzo
-<link url="http://mercurial.selenic.com/wiki/QuickStart#Setting_a_username">e-mail</link>
-e il nome dell'autore delle modifiche.
-</para>
-
-<para>
-Il messaggio di commit dovrebbe avere una breve descrizione su riga singola
-(preferibilmente non piu' lunga di 67 caratteri),
-seguita da una riga vuota e da una descrizione piu' lunga.
-Il risultante changeset puo' essere ottenuto sotto forma di patch
-tramite il comando <literal>hg export</literal>:
-<programlisting>
-# HG changeset patch
-# User Filipe Da Silva &lt;username@example.com>
-# Date 1368089668 -7200
-#      Thu May 09 10:54:28 2013 +0200
-# Node ID 2220de0521ca2c0b664a8ea1e201ce1cb90fd7a2
-# Parent  822b82191940ef309cd1e6502f94d50d811252a1
-Mail: removed surplus ngx_close_connection() call.
-
-It is already called for a peer connection a few lines above.
-
-diff -r 822b82191940 -r 2220de0521ca src/mail/ngx_mail_auth_http_module.c
---- a/src/mail/ngx_mail_auth_http_module.c      Wed May 15 15:04:49 2013 +0400
-+++ b/src/mail/ngx_mail_auth_http_module.c      Thu May 09 10:54:28 2013 +0200
-@@ -699,7 +699,6 @@ ngx_mail_auth_http_process_headers(ngx_m
-
-                     p = ngx_pnalloc(s->connection->pool, ctx->err.len);
-                     if (p == NULL) {
--                        ngx_close_connection(ctx->peer.connection);
-                         ngx_destroy_pool(ctx->pool);
-                         ngx_mail_session_internal_server_error(s);
-                         return;
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="before_submitting" name="Prima di proporre modifiche">
-
-<para>
-E' bene tenere in considerazione alcuni punti:
-<list type="bullet">
-
-<listitem>
-Le modifiche proposte dovrebbero funzionare correttamente sul piu' ampio
-numero possibile di
-<link doc="../index.xml" id="tested_os_and_platforms">piattaforme supportate</link>.
-</listitem>
-
-<listitem>
-Bisogna spiegare chiaramente perche' e' necessaria la modifica proposta,
-e se possibile fornire un esempio.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="submitting_changes" name="Proporre modifiche">
-
-<para>
-Le proposte di modifica vanno inviate alla mailing list degli
-<link doc="../support.xml" id="nginx_devel">sviluppatori di nginx</link>.
-L'estensione
-<link url="http://mercurial.selenic.com/wiki/PatchbombExtension">patchbomb</link>
-e' la maniera preferibile e piu' comoda di sottoporre i changeset.
-</para>
-
-</section>
-
-
-<section id="license" name="Licenza">
-
-<para>
-Se si sottopone una proposta di modifica, automaticamente al progetto
-viene concesso il permesso di utilizzarla in base ad una opportuna
-<link url="../../LICENSE">licenza</link>.
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/control.xml
+++ /dev/null
@@ -1,282 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Controllo di nginx"
-         link="/it/docs/control.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="5">
-
-<section>
-
-<para>
-nginx puo' essere controllato tramite segnali.
-L'ID del processo master e' scritto per default nel file
-<path>/usr/local/nginx/logs/nginx.pid</path>.
-E' possibile utilizzare un altro file utilizzando la direttiva
-<link doc="ngx_core_module.xml" id="pid"/>, definendola all'avvio
-oppure in <path>nginx.conf</path> .
-Il processo master riconosce i seguenti segnali:
-<note>
-<table>
-
-<tr><td width="20%">TERM, INT</td><td>arresto rapido</td></tr>
-<tr><td width="20%">QUIT</td><td>arresto controllato</td></tr>
-<tr><td width="20%">HUP</td><td>ricaricamento della configurazione,
-allineamento ad una diversa zona oraria (solo per FreeBSD e Linux),
-riavvio di nuovi processi worker con una nuova configurazione,
-spegnimento controllato dei vecchi processi worker</td></tr>
-<tr><td width="20%">USR1</td><td>riapertura dei file di log</td></tr>
-<tr><td width="20%">USR2</td><td>aggiornamento del file eseguibile</td></tr>
-<tr><td width="20%">WINCH</td><td>arresto controllato dei processi worker</td></tr>
-
-</table>
-</note>
-</para>
-
-<para>
-E' anche possibile controllare ciascun processo worker,
-per quanto cio' non sia richiesto.
-I segnali riconosciuti sono:
-<note>
-<table>
-
-<tr><td width="20%">TERM, INT</td><td>arresto rapido</td></tr>
-<tr><td width="20%">QUIT</td><td>arresto controllato</td></tr>
-<tr><td width="20%">USR1</td><td>riapertura dei file di log</td></tr>
-<tr><td width="20%">WINCH</td><td>chiusura anomala per debugging
-(richiede <link doc="ngx_core_module.xml" id="debug_points"/> )
-</td></tr>
-
-</table>
-</note>
-</para>
-
-</section>
-
-
-<section id="reconfiguration" name="Cambio della configurazione">
-
-<para>
-Per far rileggere la configurazione a nginx, bisogna inviare
-un segnale HUP al processo master.
-Tale processo per prima cosa verifica la validita' sintattica
-della nuova configurazione, quindi tenta di applicarla, vale a dire
-di aprire i file di log e i nuovi socket di ascolto.
-In caso di fallimento, annulla i cambiamenti e continua a lavorare
-con la vecchia configurazione.
-Invece, in caso di successo, avvia nuovi processi worker e invia a
-quelli vecchi appositi segnali per chiederne l'arresto controllato.
-I vecchi processi chiudono i socket di ascolto, ma continuano il
-servizio per i vecchi client.
-Quanto tutti i vecchi client sono stati servizi, i vecchi
-processi worker terminano.
-</para>
-
-<para>
-Di seguito si illustra con un esempio.
-Si immagini che nginx sia in esecuzione su FreeBSD 4.x
-e che il comando
-<programlisting>
-ps axw -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)'
-</programlisting>
-produca il seguente risultato:
-<programlisting>
-  PID  PPID USER    %CPU   VSZ WCHAN  COMMAND
-33126     1 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
-33127 33126 nobody   0.0  1380 kqread nginx: worker process (nginx)
-33128 33126 nobody   0.0  1364 kqread nginx: worker process (nginx)
-33129 33126 nobody   0.0  1364 kqread nginx: worker process (nginx)
-</programlisting>
-</para>
-
-<para>
-Se al processo master si invia il segnale HUP, si ottiene:
-<programlisting>
-  PID  PPID USER    %CPU   VSZ WCHAN  COMMAND
-33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
-33129 33126 nobody   0.0  1380 kqread nginx: worker process is shutting down (nginx)
-33134 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
-33135 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
-33136 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
-</programlisting>
-</para>
-
-<para>
-Uno dei vecchi processi worker con PID 33129 continua ad essere attivo;
-dopo un po', esce:
-<programlisting>
-  PID  PPID USER    %CPU   VSZ WCHAN  COMMAND
-33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
-33134 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
-33135 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
-33136 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="logs" name="Rotazione dei file di log">
-
-<para>
-Per poter ruotare i file di log, e' prima necessario cambiare loro il nome,
-quindi bisogna inviare il segnale USR1 al processo master,
-il quale provvede a riaprire tutti i file di log correnti e ad
-assegnarli all'utente non privilegiato sotto i quali sono in
-esecuzione i processi worker.
-Dopo aver riaperto con successo i file, il processo master chiude tutti
-i file aperti, ed invia un messaggio ai processi worker per chiedere loro
-di riaprire i file; i processi worker provvedono quindi immediatamente
-ad aprire i nuovi file ed a chiudere i vecchi.
-Come risultato, i vecchi file sono quasi immediatamente disponibili per
-eventuali attivita' successive, ad esempio per la compressione.
-</para>
-
-</section>
-
-
-<section id="upgrade" name="Aggiornamento al volo del file eseguibile">
-
-<para>
-Per poter aggiornare l'eseguibile del server, prima e' necessario
-porre il nuovo file al posto del vecchio; dopo, bisogna inviare al
-processo master il segnale USR2.
-Il processo master provvede a rinominare il file contenente il proprio
-ID di processo, aggiungendo il suffisso <path>.oldbin</path>, ad
-esempio <path>/usr/local/nginx/logs/nginx.pid.oldbin</path>,
-quindi avvia un nuovo file eseguibile, che a sua volta fa partire i
-propri processi worker:
-<programlisting>
-  PID  PPID USER    %CPU   VSZ WCHAN  COMMAND
-33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
-33134 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
-33135 33126 nobody   0.0  1380 kqread nginx: worker process (nginx)
-33136 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
-36264 33126 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
-36265 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-36266 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-36267 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-</programlisting>
-</para>
-
-<!--
-
-<para>
-Il processo 36264 relativo ad un nuovo file eseguibile crea il proprio file
-con l'ID di processo, aggiungendo il suffisso <path>.newbin</path>,
-ad esempio <path>/usr/local/nginx/logs/nginx.pid.newbin</path>.
-</para>
-
--->
-
-<para>
-A questo punto, sia i processi worker relativi al vecchio eseguibile, sia quelli
-relativi al nuovo, accettano richieste.
-Se al processo master e' inviato il segnale WINCH, tutti i relativi processi
-worker ricevono a loro volta un segnale che chiede loro l'arresto controllato,
-e quindi iniziano a spegnersi:
-<programlisting>
-  PID  PPID USER    %CPU   VSZ WCHAN  COMMAND
-33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
-33135 33126 nobody   0.0  1380 kqread nginx: worker process is shutting down (nginx)
-36264 33126 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
-36265 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-36266 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-36267 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-</programlisting>
-</para>
-
-<para>
-<note>
-Quando su Linux si usa il metodo "rtsig", i nuovi processi potrebbero non
-accettare connessioni anche dopo che al processo master vecchio e' stato
-inviato il segnale WINCH.
-In tal caso, bisogna continuare ad inviare il segnale USR1 al nuovo processo
-master, sinche' i nuovi processi iniziano ad accettare connessioni.
-</note>
-</para>
-
-<para>
-In breve, i soli processi worker a processare le richieste saranno quelli nuovi:
-<programlisting>
-  PID  PPID USER    %CPU   VSZ WCHAN  COMMAND
-33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
-36264 33126 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
-36265 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-36266 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-36267 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-</programlisting>
-</para>
-
-<para>
-Si noti che il vecchio processo master non chiude i suoi socket di ascolto,
-e che se necessario e' possibile chiedergli di riavviare i propri
-processi worker.
-Se per qualche ragione il nuovo file eseguibile non lavora correttamente,
-e' possibile procedere in due modi:
-<list type="bullet">
-
-<listitem>
-<para>
-inviare il segnale HUP al vecchio processo master.
-Il vecchio processo master provvedera' ad avviare
-nuovi processi worker, senza rileggere la configurazione.
-A questo punto, tutti i nuovi processi possono essere fermati
-in maniera controllata, inviando il segnale QUIT al nuovo
-processo master.
-</para>
-</listitem>
-
-<listitem>
-<para>
-inviare il segnale TERM al nuovo processo master.
-Tale processo inviare a sua volta un messaggio ai suoi processi
-worker che causera' la loro chiusura immediata.
-(Se per qualche ragione i nuovi processi non terminano, e'
-possibile inviare loro il segnale KILL per forzarne la chiusura.)
-Quando il nuovo processo master si e' chiuso, il vecchio processo
-master provvedera' immediatamente ad avviare nuovi processi worker.
-</para>
-</listitem>
-
-</list>
-
-</para>
-
-<para>
-Se il nuovo processo master termina, allora in vecchio processo master
-provvede a cancellare il suffisso <path>.oldbin</path> dal nome del file
-contenente l'ID del processo.
-</para>
-
-<para>
-Se l'aggiornamento ha successo, al vecchio processo master dovrebbe
-essere inviato il segnale QUIT, in maniera che rimangano solo i
-processi nuovi:
-<programlisting>
-  PID  PPID USER    %CPU   VSZ WCHAN  COMMAND
-36264     1 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
-36265 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-36266 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-36267 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
-</programlisting>
-</para>
-
-<!--
-
-<para>
-Per completare il processo di aggiornamento, il file
-<path>/usr/local/nginx/logs/nginx.pid.newbin</path> dovrebbe essere rinominato
-<path>/usr/local/nginx/logs/nginx.pid</path>.
-</para>
-
--->
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/debugging_log.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Il log di debug"
-         link="/it/docs/debugging_log.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="1">
-
-
-<section>
-
-<para>
-Per poter abilitare il log di <literal>debug</literal>,
-nginx deve essere stato configurato appositamente in
-fase di compilazione:
-
-<programlisting>
-./configure --with-debug ...
-</programlisting>
-
-Dopo di cio', e' possibile configurare il livello di
-<literal>debug</literal> tramite la direttiva
-<link doc="ngx_core_module.xml" id="error_log"/>:
-
-<programlisting>
-error_log /path/to/log debug;
-</programlisting>
-
-La versione binaria di nginx per Windows e' sempre compilata
-con tale supporto, per cui in questo caso e' sufficiente
-configurare il livello di <literal>debug</literal>.
-</para>
-
-<para>
-Si tenga presente che ridefinire il log senza anche
-specificare il livello di <literal>debug</literal>
-causa la disabilitazione del log.
-Nell'esempio che segue, la ridefinizione del log nel livello
-<link doc="http/ngx_http_core_module.xml" id="server"/>
-disabilita il log di <literal>debug</literal> per tale server:
-<programlisting>
-error_log /path/to/log debug;
-
-http {
-    server {
-        error_log /path/to/log;
-        ...
-</programlisting>
-Se ridefinire il log risulta necessario, per non
-incorrere in questo problema bisogna indicare
-esplicitamente il livello di <literal>debug</literal>:
-<programlisting>
-error_log /path/to/log debug;
-
-http {
-    server {
-        error_log /path/to/log debug;
-        ...
-</programlisting>
-</para>
-
-<para>
-E' pure possibile abilitare il <literal>debug</literal> solo
-per <link doc="ngx_core_module.xml" id="debug_connection">
-indirizzi client specifici</link>:
-
-<programlisting>
-error_log /path/to/log;
-
-events {
-    debug_connection 192.168.1.1;
-    debug_connection 192.168.10.0/24;
-}
-</programlisting>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/events.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Metodi di processo delle connessioni"
-         link="/it/docs/events.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="2">
-
-<section>
-
-<para>
-nginx supporta diversi metodi di processo delle connessioni.
-La disponibilita' di un particolare metodo dipende dalla piattaforma usata;
-su piattaforme che supportano piu' di un metodo, nginx in genere
-e' in grado di selezionare automaticamente il metodo piu' efficiente.
-Comunque, se necessario, e' possibile scegliere esplicitamente il metodo
-di processo delle connessioni tramite la direttiva
-<link doc="ngx_core_module.xml" id="use"/>.
-</para>
-
-<para>
-I metodi di processo delle connessioni sono i seguenti:
-<list type="bullet">
-
-<listitem id="select">
-<para>
-<literal>select</literal>&mdash;metodo standard.
-Il relativo modulo e' compilato automaticamente se la piattaforma non
-rende possibile l'uso di metodi piu' efficienti.
-E' possibile usare i parametri di configurazione
-<literal>--with-select_module</literal> e
-<literal>--without-select_module</literal>
-per abilitare o disabilitare esplicitamente la compilazione di tale modulo.
-</para>
-</listitem>
-
-<listitem id="poll">
-<para>
-<literal>poll</literal>&mdash;metodo standard.
-Il relativo modulo e' compilato automaticamente se la piattaforma non
-rende possibile l'uso di metodi piu' efficienti.
-E' possibile usare i parametri di configurazione
-<literal>--with-poll_module</literal> e
-<literal>--without-poll_module</literal>
-per abilitare o disabilitare esplicitamente la compilazione di tale modulo.
-</para>
-</listitem>
-
-<listitem id="kqueue">
-<para>
-<literal>kqueue</literal>&mdash;metodo efficiente usato su
-FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0, e Mac OS X.
-</para>
-</listitem>
-
-<listitem id="epoll">
-<para>
-<literal>epoll</literal>&mdash;metodo efficiente usato su
-Linux 2.6+.
-<note>
-Alcune distribuzioni piu' vecchie, ad esempio SuSE 8.2, forniscono
-patch che rendono possibile l'uso di questo modulo su kernel 2.4.
-</note>
-</para>
-</listitem>
-
-<listitem id="rtsig">
-<para>
-<literal>rtsig</literal>&mdash;real time signals, metodo efficiente usato su
-Linux 2.2.19+.
-Per default, la coda di eventi del sistema e' limitata a 1024 segnali;
-su server particolarmente carichi puo' risultare necessario incrementare
-tale limite, intervenendo sul parametro del kernel
-<path>/proc/sys/kernel/rtsig-max</path> .
-Comunque, a partire da Linux 2.6.6-mm2 tale parametro non e' piu' disponibile
-e ciascun processo dispone della propria coda di eventi.
-La dimensione di ciascuna coda e' definita da <literal>RLIMIT_SIGPENDING</literal>
-e puo' essere modificata tramite il parametro
-<link doc="ngx_core_module.xml" id="worker_rlimit_sigpending"/>.
-</para>
-
-<para>
-In caso di overflow, nginx scarta del tutto la coda e passa all'uso del
-metodo di processo <literal>poll</literal> sinche' la situazione non
-torna normale.
-</para>
-</listitem>
-
-<listitem id="devpoll">
-<para>
-<literal>/dev/poll</literal>&mdash;metodo efficiente usato su
-Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+,
-e Tru64 UNIX 5.1A+.
-</para>
-</listitem>
-
-<listitem id="eventport">
-<para>
-<literal>eventport</literal>&mdash;event ports, metodo efficiente usato su
-Solaris 10.
-</para>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/hash.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Messa a punto degli hash"
-         link="/it/docs/hash.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="1">
-
-<section>
-
-<para>
-Per processare rapidamente insiemi di dati, quali ad esempio
-nomi di server, valori relativi alla direttiva
-<link doc="http/ngx_http_map_module.xml" id="map"/>,
-MIME type, stringhe di nomi di header di richiesta,
-nginx usa tabelle di hash.
-Durante l'avvio ed in seguito ad ogni rilettura della configurazione,
-nginx seleziona la minore dimensione possibile delle tabelle
-di hash, tale che la dimensione del bucket che memorizza le chiavi
-con identico valore hash non superi il relativo parametro configurato
-(hash bucket size).
-La dimensione di una tabella e' espressa in bucket; tale dimensione
-viene regolata continuamente, sinche' la dimensione non eccede il
-valore configurato (hash max size).
-Molti hash dispongono di specifiche direttive che consentono la modifica
-di tali parametri; ad esempio, per l'hash dei nomi dei server esistono
-<link doc="http/ngx_http_core_module.xml" id="server_names_hash_bucket_size"/>
-e <link doc="http/ngx_http_core_module.xml" id="server_names_hash_max_size"/>.
-</para>
-
-<para>
-Il parametro hash bucket size e' allineato ad una dimensione
-multipla di quella di una linea di cache del processore utilizzato;
-nei moderni processori cio' riduce il numero di accessi alla memoria
-e quindi il tempo necessario a ricercare la chiave di un hash.
-Se la dimensione del bucket hash e' pari a quella di una linea di
-cache, allora il numero di accessi alla memoria durante la ricerca di
-una chiave sara' nel peggiore dei casi pari a due &mdash;uno per l'indirizzo
-del bucket, l'altro durante la ricerca della chiave nel bucket.
-Per tale ragione, se nginx mostra un messaggio che suggerisce
-l'incremento o della dimensione massima dell'hash oppure della
-dimensione del bucket hash, e' preferibile intervenire anzitutto
-sul primo dei due parametri e non modificare per quanto possibile
-il secondo.
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/howto_build_on_win32.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Compilare i sorgenti di nginx su piattaforma Win32 con Visual C"
-         link="/it/docs/howto_build_on_win32.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="1">
-
-<section name="Prerequisiti">
-
-<para>
-Per compilare nginx su piattaforma <registered>Microsoft Win32</registered>, servono:
-
-<list type="bullet">
-
-<listitem>
-Il compilatore Microsoft Visual C; e' stato verificato che con
-<registered>Microsoft Visual Studio</registered> 8 e 10 è possibile portare
-a termine la compilazione.
-</listitem>
-
-<listitem>
-<link url="http://www.mingw.org/wiki/MSYS">MSYS</link>.
-</listitem>
-
-<listitem>
-Perl, se si vuole compilare <registered>OpenSSL</registered> e nginx con il support SSL;
-ad esempio <link url="http://www.activestate.com/activeperl">ActivePerl</link>
-o <link url="http://strawberryperl.com">Strawberry Perl</link>.
-</listitem>
-
-<listitem>
-Il client
-<link url="http://mercurial.selenic.com/">Mercurial</link>.
-</listitem>
-
-<listitem>
-Il codice sorgente delle librerie
-<link url="http://www.pcre.org">PCRE</link>, <link url="http://zlib.net">zlib</link>
-e <link url="http://www.openssl.org">OpenSSL</link>.
-</listitem>
-</list>
-
-</para>
-
-</section>
-
-<section id="build_steps"
-         name="Sequenza di compilazione">
-
-<para>
-Prima di iniziare a compilare, assicurarsi che i path alle directory bin di
-Perl, Mercurial e MSYS siano stati aggiunti alla variabile d'ambiente PATH.
-Per configurare l'ambiente di Visual C, avviare lo script vcvarsall.bat
-dalla directory del Visual C.
-</para>
-
-<para>
-
-Per compilare nginx:
-<list type="bullet">
-
-<listitem>
-Avviare la bash MSYS.
-</listitem>
-
-<listitem>
-Fare il check out dei sorgenti nginx dall'archivio hg.nginx.org; ad esempio con:
-<programlisting>
-hg clone http://hg.nginx.org/nginx
-</programlisting>
-</listitem>
-
-<listitem>
-Creare la directory per la compilazione e la sottodirectory lib, scompattare il
-codice sorgente delle librerie zlib, PCRE e OpenSSL in lib:
-<programlisting>
-mkdir objs
-mkdir objs/lib
-cd objs/lib
-tar -xzf ../../pcre-8.32.tar.gz
-tar -xzf ../../zlib-1.2.7.tar.gz
-tar -xzf ../../openssl-1.0.1e.tar.gz
-</programlisting>
-</listitem>
-
-<listitem>
-Lanciare lo script configure:
-<programlisting>
-auto/configure --with-cc=cl --builddir=objs --prefix= \
---conf-path=conf/nginx.conf --pid-path=logs/nginx.pid \
---http-log-path=logs/access.log --error-log-path=logs/error.log \
---sbin-path=nginx.exe --http-client-body-temp-path=temp/client_body_temp \
---http-proxy-temp-path=temp/proxy_temp \
---http-fastcgi-temp-path=temp/fastcgi_temp \
---with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs/lib/pcre-8.32 \
---with-zlib=objs/lib/zlib-1.2.7 --with-openssl=objs/lib/openssl-1.0.1e \
---with-select_module --with-http_ssl_module --with-ipv6
-</programlisting>
-</listitem>
-
-<listitem>
-lanciare make:
-<programlisting>
-nmake -f objs/Makefile
-</programlisting>
-</listitem>
-
-
-</list>
-
-</para>
-
-</section>
-
-<section id="see_also"
-         name="Vedi anche">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="windows.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-</article>
deleted file mode 100644
--- a/xml/it/docs/http/configuring_https_servers.xml
+++ /dev/null
@@ -1,521 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="Configurazione di server HTTPS"
-         link="/it/docs/http/configuring_https_servers.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="6"
-         author="Igor Sysoev"
-         editor="Brian Mercer">
-
-<section>
-
-<para>
-Per configurare un server HTTPS, bisogna configurare il parametro
-<literal>ssl</literal> nel
-<link doc="ngx_http_core_module.xml" id="listen">socket in ascolto</link>
-del blocco <link doc="ngx_http_core_module.xml" id="server"/>,
-e specificare dove sono i file del certificato del server e della relativa
-chiave private:
-
-<programlisting>
-server {
-    listen              443 <b>ssl</b>;
-    server_name         www.example.com;
-    ssl_certificate     <b>www.example.com.crt</b>;
-    ssl_certificate_key <b>www.example.com.key</b>;
-    ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
-    ssl_ciphers         HIGH:!aNULL:!MD5;
-    ...
-}
-</programlisting>
-
-Il certificato del server e' pubblico: e' inviato a tutti i client che
-si connettono al server; la chiave privata al contrario non e' pubblica,
-e dovrebbe essere salvata in un file con restrizioni d'accesso, e
-comunque non leggibile dal processo master di nginx.
-In alternativa, la chiave privata puo' essere salvata nel medesimo file
-del certificato:
-
-<programlisting>
-    ssl_certificate     www.example.com.cert;
-    ssl_certificate_key www.example.com.cert;
-</programlisting>
-
-pure in questo caso i diritti d'accesso al file dovrebbero essere ristretti.
-Anche quando certificato e chiave privata sono salvati entrambi
-in un unico file, solo il certificato e' inviato al client.
-</para>
-
-<para>
-Le direttive <link doc="ngx_http_ssl_module.xml" id="ssl_protocols"/> e
-<link doc="ngx_http_ssl_module.xml" id="ssl_ciphers"/> possono essere usate
-per limitare l'uso alle sole versioni e cifrature forti di SSL/TLS nelle
-connessioni.
-nginx usa per default “<literal>ssl_protocols SSLv3 TLSv1</literal>” e
-“<literal>ssl_ciphers HIGH:!aNULL:!MD5</literal>” sin dalla versione 1.0.5,
-per cui una configurazione esplicita ha senso solo per le versioni di nginx
-piu' vecchie. Dalle versioni 1.1.13 e 1.0.12 nginx usa per default
-“<literal>ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2</literal>”.
-</para>
-
-<para>
-La modalita' di cifratura CBC e' potenzialmente vulnerabile ad una serie
-di attacchi, in particolare ad un attacco BEST (vedi
-<link url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3389">CVE-2011-3389</link>).
-La configurazione della cifratura puo' essere modificata in maniera da
-utilizzare RC4-SHA:
-
-<programlisting>
-    ssl_ciphers RC4:HIGH:!aNULL:!MD5;
-    ssl_prefer_server_ciphers on;
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="optimization" name="Ottimizzazione di server HTTPS">
-
-<para>
-Le operazioni SSL utilizzano pesantemente la CPU. Su sistemi
-multiprocessore e' bene avviare processi worker in numero almeno pari a
-quello dei core.
-L'operazione piu' gravosa per la CPU e' l'handshake SSL.
-Ci sono due modi per minimizzare il numero di tali operazioni per client:
-il primo consiste nell'abilitare connessioni keepalive per inviare diverse
-richieste tramite un'unica connessione; il secondo prevede di riutilizzare
-i parametri della sessione SSL in maniera tale da evitare l'handshake SSL
-per connessioni parallele e susseguenti.
-Le sessioni sono salvate in una cache di sessione SSL, condivisa fra i
-worker e configurata dalla direttiva
-<link doc="ngx_http_ssl_module.xml" id="ssl_session_cache"/>.
-
-Un megabyte di cache contiene circa 4000 sessioni. Il timeout di default della
-cache e' di 5 minuti; puo' essere aumentato intervenendo sulla direttiva
-<link doc="ngx_http_ssl_module.xml" id="ssl_session_timeout"/>.
-Segue una configurazione di esempio ottimizzata per un sistema multicore con
-10 megabyte di cache di sessione condivisa:
-
-<programlisting>
-<b>worker_processes auto</b>;
-
-http {
-    <b>ssl_session_cache   shared:SSL:10m</b>;
-    <b>ssl_session_timeout 10m</b>;
-
-    server {
-        listen              443 ssl;
-        server_name         www.example.com;
-        <b>keepalive_timeout   70</b>;
-
-        ssl_certificate     www.example.com.crt;
-        ssl_certificate_key www.example.com.key;
-        ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
-        ssl_ciphers         HIGH:!aNULL:!MD5;
-        ...
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="chains" name="Catene di certificati SSL">
-
-<para>
-Capita talvolta che alcuni certificati server firmati da autorita' di
-certificazione ben note siano tranquillamente accettati da alcuni browser,
-ma mostrino invece problemi con altri. Cio' succede quando' l'autorita'
-emittente ha firmato il certificato usandone uno intermedio che non e'
-presente nell'elenco delle autorita' di certificazione distribuito con
-uno specifico browser.
-In tal caso l'autorita' fornisce un gruppo di certificati che dovrebbero
-essere concatenati al certificato server firmato.
-Il certificato server deve comparire prima dei certificati concatenati
-nel file risultante:
-
-<programlisting>
-$ cat www.example.com.crt bundle.crt > www.example.com.chained.crt
-</programlisting>
-
-Il file che ne deriva va usato con la  direttiva
-<link doc="ngx_http_ssl_module.xml" id="ssl_certificate"/>:
-
-<programlisting>
-server {
-    listen              443 ssl;
-    server_name         www.example.com;
-    ssl_certificate     www.example.com.chained.crt;
-    ssl_certificate_key www.example.com.key;
-    ...
-}
-</programlisting>
-
-Se il certificato server ed il gruppo di certificati sono stati concatenati
-nell'ordine sbagliato, nginx non riuscira' a partire e mostrera' il
-seguente messaggio di errore:
-
-<programlisting>
-SSL_CTX_use_PrivateKey_file(" ... /www.example.com.key") failed
-   (SSL: error:0B080074:x509 certificate routines:
-    X509_check_private_key:key values mismatch)
-</programlisting>
-
-dato che nginx ha tentato di usare la chiave privata non con il certificato
-server ma con il primo certificato del gruppo.
-</para>
-
-<para>
-Di solito i browser salvano i certificati intermedi che ricevono se sono
-firmati da autorita' di certificazione riconosciute, per cui browser molto
-usati potrebbero gia' avere i certificati intermedi richiesti, e quindi
-non avere problemi anche quando ricevono un certificato privo della
-relativa concatenazione di certificati.
-Comunque, per assicurare che il server invii la concatenazione di certificati
-completa, e' possibile usare da linea di comando il programma
-<command>openssl</command>, ad esempio:
-
-<programlisting>
-$ openssl s_client -connect www.godaddy.com:443
-...
-Certificate chain
- 0 s:/C=US/ST=Arizona/L=Scottsdale/1.3.6.1.4.1.311.60.2.1.3=US
-     /1.3.6.1.4.1.311.60.2.1.2=AZ/O=GoDaddy.com, Inc
-     /OU=MIS Department/<b>CN=www.GoDaddy.com</b>
-     /serialNumber=0796928-7/2.5.4.15=V1.0, Clause 5.(b)
-   i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc.
-     /OU=http://certificates.godaddy.com/repository
-     /CN=Go Daddy Secure Certification Authority
-     /serialNumber=07969287
- 1 s:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc.
-     /OU=http://certificates.godaddy.com/repository
-     /CN=Go Daddy Secure Certification Authority
-     /serialNumber=07969287
-   i:/C=US/O=The Go Daddy Group, Inc.
-     /OU=Go Daddy Class 2 Certification Authority
- 2 s:/C=US/O=The Go Daddy Group, Inc.
-     /OU=Go Daddy Class 2 Certification Authority
-   i:/L=ValiCert Validation Network/O=<b>ValiCert, Inc.</b>
-     /OU=ValiCert Class 2 Policy Validation Authority
-     /CN=http://www.valicert.com//emailAddress=info@valicert.com
-...
-</programlisting>
-
-In questo esempio, il soggetto (“<i>s</i>”, vale a dire "<i>subject</i>")
-del certificato server #0 <literal>www.GoDaddy.com</literal> e' firmato da
-un emittente (“<i>i</i>”, vale a dire "<i>issuer</i>") che a sua volta e'
-il soggetto del certificato #1, il quale e' firmato da un emittente che e'
-il soggetto del certificato #2, che e' finalmente firmato dalla autorita'
-di certificazione ben nota <i>ValiCert, Inc.</i>, il cui certificato e'
-presente nella base dati precaricata del browser
-("che al mercato mio padre compro'").
-</para>
-
-<para>
-Se il gruppo di certificati non fosse stato aggiunto, sarebbe stato
-visualizzato il solo certificato #0.
-</para>
-
-</section>
-
-
-<section id="single_http_https_server" name="Un server unico per HTTP e HTTPS">
-
-<para>
-E' possibile configurare un singolo server che tratti sia richieste HTTP,
-sia richieste HTTPS:
-
-<programlisting>
-server {
-    listen              80;
-    listen              443 ssl;
-    server_name         www.example.com;
-    ssl_certificate     www.example.com.crt;
-    ssl_certificate_key www.example.com.key;
-    ...
-}
-</programlisting>
-
-<note>
-Prima della versione 0.7.14, SSL non poteva essere abilitato
-selettivamente per singoli socket in ascolto, come nell'esempio
-precedente: SSL poteva solo essere abilitato per l'intero server,
-usando la direttiva <link doc="ngx_http_ssl_module.xml" id="ssl"/>,
-e rendendo quindi impossibile la configurazione di un server
-unico per HTTP e HTTPS.
-Il parametro <literal>ssl</literal> della direttiva
-<link doc="ngx_http_core_module.xml" id="listen"/> e' stato aggiunto
-per risolvere questo problema. L'uso della direttiva
-<link doc="ngx_http_ssl_module.xml" id="ssl"/>
-e' pertanto sconsigliato nelle versioni recenti.
-</note>
-</para>
-
-</section>
-
-
-<section id="name_based_https_servers" name="Server HTTPS name-based">
-
-<para>
-Quando si configurano due o piu' server HTTPS in ascolto su un singolo
-indirizzo IP, sorge spesso un problema:
-
-<programlisting>
-server {
-    listen          443 ssl;
-    server_name     www.example.com;
-    ssl_certificate www.example.com.crt;
-    ...
-}
-
-server {
-    listen          443 ssl;
-    server_name     www.example.org;
-    ssl_certificate www.example.org.crt;
-    ...
-}
-</programlisting>
-
-Con questa configurazione un browser riceve il certificato del server di default,
-vale a dire <literal>www.example.com</literal>, indipendentemente da quale sia
-il nome del server richiesto. Cio' e' causato dal comportamento del protocollo
-SSL: la connessione SSL si stabilisce prima che il browser invii una richiesta
-HTTP, percio' quando nginx ancora non sa quale sara' il nome del server richiesto;
-per tale ragione, non puo' fare altro che offrire il certificato del server di default.
-</para>
-
-<para>
-Il metodo classico per risolvere questo problema consiste nell'assegnare
-un indirizzo IP distinto a ciascun server HTTPS:
-
-<programlisting>
-server {
-    listen          192.168.1.1:443 ssl;
-    server_name     www.example.com;
-    ssl_certificate www.example.com.crt;
-    ...
-}
-
-server {
-    listen          192.168.1.2:443 ssl;
-    server_name     www.example.org;
-    ssl_certificate www.example.org.crt;
-    ...
-}
-</programlisting>
-</para>
-
-
-<section id="certificate_with_several_names"
-         name="Un certificato SSL con molti nomi">
-
-<para>
-Ci sono altre maniere tramite cui condividere un singolo indirizzo IP
-fra molti server HTTPS, tutte comunque non prive di problemi.
-Ad esempio, e' possibile usare un certificato con diversi nomi di server
-nel campo SubjectAltName, per esempio
-<literal>www.example.com</literal> and <literal>www.example.org</literal>,
-tuttavia la lunghezza del campo SubjectAltName e' limitata.
-</para>
-
-<para>
-Un'altra tecnica prevede l'uso di un certificato il cui nome e' definito con
-caratteri jolly, per esempio <literal>*.example.org</literal>.
-Un certificato con caratteri jolly va bene per tutti i sottodomini del
-dominio specificato, ma per un solo livello: in questo caso ad esempio
-verra' riconosciuta corrispondenza con <literal>www.example.org</literal>,
-ma non con <literal>example.org</literal> e <literal>www.sub.example.org</literal>.
-I due metodi mostrati possono essere combinati: nel campo SubjectAltName
-un certificato puo' contenere sia nomi esatti sia nomi con caratteri jolly,
-ad esempio <literal>example.org</literal> e <literal>*.example.org</literal>.
-</para>
-
-<para>
-Nel caso in cui si usi un certificato con nomi multipli, e' bene
-indicare la posizione del relativo file e della chiave nel livello
-<i>http</i> della configurazione, in maniera da avere una singola
-copia in memoria da far ereditare a tutti i server:
-
-<programlisting>
-ssl_certificate     common.crt;
-ssl_certificate_key common.key;
-
-server {
-    listen          443 ssl;
-    server_name     www.example.com;
-    ...
-}
-
-server {
-    listen          443 ssl;
-    server_name     www.example.org;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="sni" name="Server Name Indication">
-
-<para>
-Una soluzione piu' generale per l'uso di server HTTPS multipli su un singolo
-indirizzo IP e' data dalla
-<link url="http://en.wikipedia.org/wiki/Server_Name_Indication">estensione
-TLS Server Name Indication</link> (SNI, RFC 6066), che consente ad un
-browser di indicare il nome del server richiesto durante l'handshake SSL e,
-percio', permette al server di sapere quale certificato dovrebbe essere
-usato durante la connessione. Purtroppo, SNI ha un supporto piuttosto
-limitato nei browser; al momento e' supportato a partire dalle seguenti
-versioni:
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-Opera 8.0;
-</listitem>
-
-<listitem>
-MSIE 7.0 (ma solo su Windows Vista o superiore);
-</listitem>
-
-<listitem>
-Firefox 2.0 e altri browser che usano Mozilla Platform rv:1.8.1;
-</listitem>
-
-<listitem>
-Safari 3.2.1 (la versione per Windows supporta SNI su Vista o superiore);
-</listitem>
-
-<listitem>
-Chrome (la versione per Windows supporta SNI su Vista o superiore).
-</listitem>
-
-</list>
-<note>
-Con SNI e' possibile passare solo nomi di dominio, tuttavia alcuni browser
-potrebbero erroneamente consentire di passare come nome anche l'indirizzo
-IP del server.
-E' bene comunque non fare affidamento su questo comportamento.
-</note>
-</para>
-
-<para>
-Per poter usare SNI in nginx, e' necessario che sia supportato sia nella
-libreria OpenSSL con cui il binario e' stato compilato, sia nella
-libreria a cui e' linkato dinamicamente in esecuzione.
-OpenSSL supporta SNI sin dalla versione 0.9.8f, a patto che sia stata
-compilata con l'opzione di configurazione <nobr>“--enable-tlsext”</nobr>;
-dalla versione 0.9.8j tale opzione e' abilitata per default.
-Se nginx e' compilato con il supporto a SNI, allora l'esecuzione con
-il parametro “-V” mostra:
-
-<programlisting>
-$ nginx -V
-...
-TLS SNI support enabled
-...
-</programlisting>
-
-Di contro, se nginx e' stato compilato con il supporto a SNI, ma la libreria
-OpenSSL a cui e' linkato dinamicamente ne e' priva, viene mostrato:
-
-<programlisting>
-nginx was built with SNI support, however, now it is linked
-dynamically to an OpenSSL library which has no tlsext support,
-therefore SNI is not available
-</programlisting>
-</para>
-
-</section>
-
-</section>
-
-
-<section id="compatibility" name="Compatibilita'">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Il parametro “-V” mostra lo stato del supporto a SNI
-dalla versione 0.8.21 e 0.7.62 in poi.
-</listitem>
-
-<listitem>
-Il parametro <literal>ssl</literal> della direttiva
-<link doc="ngx_http_core_module.xml" id="listen"/>
-e' supportato
-dalla versione 0.7.14 in poi;
-prima della versione 0.8.21 poteva essere specificato solo
-insieme al parametro <literal>default</literal>.
-</listitem>
-
-<listitem>
-SNI e' supportato
-dalla versione 0.5.32 in poi.
-</listitem>
-
-<listitem>
-La cache condivisa di sessione SSL e' supportata
-dalla versione 0.5.6 in poi.
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-Versioni 0.7.65, 0.8.19 e successive: i protocolli SSL default sono SSLv2, TLSv1,
-e TLSv1.2 (se supportati dalla libreria OpenSSL).
-</listitem>
-
-<listitem>
-Versioni 0.7.64, 0.8.18 e precedenti: i protocolli SSL default sono SSLv2,
-SSLv3, e TLSv1.
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-Versioni 1.0.5 e successive: i sistemi di cifratura SSL default sono
-“<literal>HIGH:!aNULL:!MD5</literal>”.
-</listitem>
-
-<listitem>
-Versioni 0.7.65, 0.8.20 e successive: i sistemi di cifratura SSL default sono
-“<literal>HIGH:!ADH:!MD5</literal>”.
-</listitem>
-
-<listitem>
-Versione 0.8.19: i sistemi di cifratura SSL default sono
-“<literal>ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM</literal>”.
-</listitem>
-
-<listitem>
-Versioni 0.7.64, 0.8.18 e precedenti: i sistemi di cifratura SSL default sono<br/>
-“<literal>ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP</literal>”.
-</listitem>
-
-</list>
-</para>
-
-
-</section>
-
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/http/converting_rewrite_rules.xml
+++ /dev/null
@@ -1,159 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="Convertire rewrite rule"
-         link="/it/docs/http/converting_rewrite_rules.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="1">
-
-
-<section name="Redirect ad un sito principale">
-
-<para>
-Chi, nel corso della propria esperienza con host condivisi, e' sempre
-stato abituato a configurare <i>tutto</i> usando <i>solo</i> i file
-.htaccess di Apache, in genere converte le seguenti regole:
-
-<programlisting>
-RewriteCond  %{HTTP_HOST}  example.org
-RewriteRule  (.*)          http://www.example.org$1
-</programlisting>
-
-in qualcosa tipo:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  www.example.org  example.org;
-    if ($http_host = example.org) {
-        rewrite  (.*)  http://www.example.org$1;
-    }
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-Si tratta di una soluzione errata, poco elegante e inefficiente.
-La soluzione corretta prevede la definizione di un server distinto per
-<literal>example.org</literal>:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org;
-    return       301 http://www.example.org$request_uri;
-}
-
-server {
-    listen       80;
-    server_name  www.example.org;
-    ...
-}
-</programlisting>
-
-<note>
-Nelle versioni antecedenti la 0.9.1, i redirect possono essere definiti con:
-<programlisting>
-    rewrite      ^ http://www.example.org$request_uri?;
-</programlisting>
-</note>
-
-</para>
-
-</section>
-
-
-<section>
-
-<para>
-Un altro esempio:
-invece della logica &ldquo;upside-down&rdquo;, vale a dire &ldquo;tutto quello
-che non e' <literal>example.com</literal> ne' <literal>www.example.com</literal>&rdquo;:
-
-<programlisting>
-RewriteCond  %{HTTP_HOST}  !example.com
-RewriteCond  %{HTTP_HOST}  !www.example.com
-RewriteRule  (.*)          http://www.example.com$1
-</programlisting>
-
-e' meglio semplicemente definire
-<literal>example.com</literal>, <literal>www.example.com</literal>,
-e &ldquo;tutto il resto&rdquo;:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.com www.example.com;
-    ...
-}
-
-server {
-    listen       80 default_server;
-    server_name  _;
-    return       301 http://example.com$request_uri;
-}
-</programlisting>
-
-<note>
-Nelle versioni antecedenti la 0.9.1, i redirect possono essere definiti con:
-<programlisting>
-    rewrite      ^ http://example.com$request_uri?;
-</programlisting>
-</note>
-
-</para>
-
-</section>
-
-
-<section id="converting_mongrel_rules"
-        name="Conversione delle regole di Mongrel">
-
-<para>
-Regole di Mongrel tipiche, quali:
-
-<programlisting>
-DocumentRoot /var/www/myapp.com/current/public
-
-RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
-RewriteCond %{SCRIPT_FILENAME} !maintenance.html
-RewriteRule ^.*$ %{DOCUMENT_ROOT}/system/maintenance.html [L]
-
-RewriteCond %{REQUEST_FILENAME} -f
-RewriteRule ^(.*)$ $1 [QSA,L]
-
-RewriteCond %{REQUEST_FILENAME}/index.html -f
-RewriteRule ^(.*)$ $1/index.html [QSA,L]
-
-RewriteCond %{REQUEST_FILENAME}.html -f
-RewriteRule ^(.*)$ $1/index.html [QSA,L]
-
-RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]
-</programlisting>
-
-andrebbero convertite in:
-
-<programlisting>
-location / {
-    root       /var/www/myapp.com/current/public;
-
-    try_files  /system/maintenance.html
-               $uri  $uri/index.html $uri.html
-               @mongrel;
-}
-
-location @mongrel {
-    proxy_pass  http://mongrel;
-}
-</programlisting>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/http/request_processing.xml
+++ /dev/null
@@ -1,302 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="Come nginx processa una richiesta"
-         link="/it/docs/http/request_processing.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="1"
-         author="Igor Sysoev"
-         editor="Brian Mercer">
-
-<section name="Server virtuali name-based">
-
-<para>
-La prima cosa che nginx fa e' decidere quale <i>server</i> deve
-processare la richiesta. Si consideri una semplice configurazione
-in cui tutti i tre server virtuali sono in ascolto sulla porta *:80 :
-<programlisting>
-server {
-    listen      80;
-    server_name example.org www.example.org;
-    ...
-}
-
-server {
-    listen      80;
-    server_name example.net www.example.net;
-    ...
-}
-
-server {
-    listen      80;
-    server_name example.com www.example.com;
-    ...
-}
-</programlisting>
-
-</para>
-
-<para>
-In questa configurazione nginx verifica solo il campo <header>Host</header>
-dell'header di richiesta, per determinare a quale server la richiesta debba
-essere assegnata.
-Se il suo valore non corrisponde con quello di alcun nome di server,
-oppure se la richiesta semplicemente non contiene tale campo dell'header,
-allora nginx assegna la richiesta al server di default per la relativa porta.
-Nella configurazione precedente, il server di default e' il primo&mdash;si
-tratta del comportamento standard di nginx.
-E' anche possibile indicare esplicitamente il server di default, tramite il
-parametro <literal>default_server</literal> nella direttiva
-<link doc="ngx_http_core_module.xml" id="listen"/> :
-<programlisting>
-server {
-    listen      80 <b>default_server</b>;
-    server_name example.net www.example.net;
-    ...
-}
-</programlisting>
-
-<note>
-Il parametro <literal>default_server</literal> e' disponibile a partire dalla
-versione 0.8.21 di nginx.
-Nelle versioni precedenti bisogna usare invece il parametro
-<literal>default</literal>.
-</note>
-Si noti che il server di default e' una proprieta' della porta in ascolto,
-e non del nome del server; l'argomento sara' ripreso in seguito.
-</para>
-
-</section>
-
-
-<section id="how_to_prevent_undefined_server_names"
-         name="Come evitare di processare richieste in cui il nome del server non e' definito">
-
-<para>
-Se si desidera che le richieste prive dell'header <header>Host</header>
-non siano processate, e' possibile definire un server che si limita a scartarle:
-<programlisting>
-server {
-    listen      80;
-    server_name "";
-    return      444;
-}
-</programlisting>
-In questo caso il nome del server e' definito con una stringa vuota,
-la quale corrispondera' a tutte le richieste prive del campo
-<header>Host</header> dell'header; per chiudere la connessione nginx
-restituisce il codice 444 (non standard).
-<note>
-A partire dalla versione 0.8.48 quella descritta e' la configurazione
-default per i nomi di server, per cui e' possibile omettere
-<literal>server_name ""</literal>.
-Nelle versioni precedenti, come nome del server di default si utilizzava
-l'<i>hostname</i> della macchina.
-</note>
-</para>
-
-</section>
-
-
-<section id="mixed_name_ip_based_servers"
-         name="Configurazione mista di server virtuali name-based e IP-based">
-
-<para>
-Una configurazione piu' complessa prevede vari server virtuali
-in ascolto su indirizzi differenti:
-<programlisting>
-server {
-    listen      192.168.1.1:80;
-    server_name example.org www.example.org;
-    ...
-}
-
-server {
-    listen      192.168.1.1:80;
-    server_name example.net www.example.net;
-    ...
-}
-
-server {
-    listen      192.168.1.2:80;
-    server_name example.com www.example.com;
-    ...
-}
-</programlisting>
-In tale configurazione nginx dapprima confronta l'indirizzo IP
-e la porta della richiesta con le direttive
-<link doc="ngx_http_core_module.xml" id="listen"/> dei blocchi
-<link doc="ngx_http_core_module.xml" id="server"/>;
-quindi, per ciascun blocco per cui c'e' corrispondenza, nginx confronta
-il campo <header>Host</header> dell'header della richiesta con i
-valori <link doc="ngx_http_core_module.xml" id="server_name"/> del blocco.
-Se il nome del server non e' presente in alcun blocco, la richiesta
-viene processata dal server di default.
-Ad esempio, una richiesta per <literal>www.example.com</literal>
-ricevuta sulla porta 192.168.1.1:80, sara' processata dal server di
-default di 192.168.1.1:80, vale a dire dal primo server, in quanto non
-c'e' alcun nome <literal>www.example.com</literal> definito per tale
-combinazione di indirizzo e porta.
-</para>
-
-<para>
-Si precisa nuovamente che il server di default e' una proprieta' di
-indirizzo e porta in ascolto, e che e' possibile definire server di
-default differenti per combinazioni differenti di indirizzo e porta:
-<programlisting>
-server {
-    listen      192.168.1.1:80;
-    server_name example.org www.example.org;
-    ...
-}
-
-server {
-    listen      192.168.1.1:80 <b>default_server</b>;
-    server_name example.net www.example.net;
-    ...
-}
-
-server {
-    listen      192.168.1.2:80 <b>default_server</b>;
-    server_name example.com www.example.com;
-    ...
-}
-</programlisting>
-
-</para>
-
-</section>
-
-
-<section id="simple_php_site_configuration"
-         name="Configurazione per un semplice sito PHP">
-
-<para>
-Nel seguito si analizza come nginx scelga la <i>location</i> per
-processare una richiesta nel caso di un tipico, semplice sito PHP:
-<programlisting>
-server {
-    listen      80;
-    server_name example.org www.example.org;
-    root        /data/www;
-
-    location / {
-        index   index.html index.php;
-    }
-
-    location ~* \.(gif|jpg|png)$ {
-        expires 30d;
-    }
-
-    location ~ \.php$ {
-        fastcgi_pass  localhost:9000;
-        fastcgi_param SCRIPT_FILENAME
-                      $document_root$fastcgi_script_name;
-        include       fastcgi_params;
-    }
-}
-</programlisting>
-
-</para>
-
-<para>
-Per prima cosa nginx individua fra tutte le location definite da una
-stringa quella con il prefisso specifico piu' lungo (l'ordine con cui
-sono elencate non e' rilevante); nella configurazione precedente il
-solo prefisso definito e' “<literal>/</literal>”, che trova
-corrispondenza in qualsiasi richiesta e che quindi verra' comunque
-preso in considerazione, come ultima risorsa.
-Successivamente, nginx analizza le location definite tramite una
-espressione regolare, fermandosi appena ne individua una che
-corrisponde (in questo caso l'ordine in cui sono inserite nel file
-di configurazione e' rilevante in quanto nginx parte dalla prima e le
-analizza una dopo l'altra). La prima location individuata fra quelle
-definite come espressione regolare e' quella prescelta; se non ce n'e'
-nessuna, nginx ripiega su quella individuata al passo precedente tramite
-il prefisso.
-
-</para>
-
-<para>
-Notare che tutti i tipi di location sono confrontati con il solo URI
-della linea di richiesta, senza argomenti;
-cio' e' dovuto al fatto che gli argomenti nella stringa di richiesta
-possono essere inviati in vari modi, ad esempio:
-<programlisting>
-/index.php?user=john&amp;page=1
-/index.php?page=1&amp;user=john
-</programlisting>
-Inoltre, nella stringa di richiesta e' possibile scrivere qualsiasi cosa:
-<programlisting>
-/index.php?page=1&amp;something+else&amp;user=john
-</programlisting>
-
-</para>
-
-<para>
-Seguono alcuni esempi di processo di richieste in base alla
-configurazione precedente:
-<list type="bullet" compact="no">
-
-<listitem>
-Una richiesta “<literal>/logo.gif</literal>” corrisponde al prefisso
-di location “<literal>/</literal>”, ma anche all'espressione regolare
-“<literal>\.(gif|jpg|png)$</literal>”, per cui si utilizzera' quest'ultima
-corrispondenza in quanto, come spiegato in precedenza, le espressioni
-regolari hanno sempre priorita' sulle stringhe fisse.
-Usando la direttiva “<literal>root&nbsp;/data/www</literal>” la richiesta
-e' mappata sul file <path>/data/www/logo.gif</path> , che quindi e' inviato
-al client.
-</listitem>
-
-<listitem>
-Una richiesta “<literal>/index.php</literal>” corrisponde sia al prefisso
-“<literal>/</literal>” sia all'espressione regolare
-“<literal>\.(php)$</literal>”, per cui sara' processata da quest'ultima
-sezione della configurazione, e la richiesta sara' inoltrata al server
-FastCGI in ascolto su localhost:9000.
-La direttiva
-<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_param"/>
-imposta il parametro FastCGI
-<literal>SCRIPT_FILENAME</literal> a “<literal>/data/www/index.php</literal>”,
-ed il server FastCGI esegue il file.
-La variabile <var>$document_root</var> contiene il valore della direttiva
-<link doc="ngx_http_core_module.xml" id="root"/>, e la variabile
-<var>$fastcgi_script_name</var> il valore della richiesta URI, vale a dire
-“<literal>/index.php</literal>”.
-</listitem>
-
-<listitem>
-Una richiesta “<literal>/about.html</literal>” corrisponde al solo prefisso
-“<literal>/</literal>”, per cui sara' processata da questa sezione.
-La direttiva “<literal>root /data/www</literal>” mappa la richiesta sul file
-<path>/data/www/about.html</path>, che e' inviato al client.
-</listitem>
-
-<listitem>
-Una richiesta “<literal>/</literal>” e' processata in maniera piuttosto
-complessa. Corrisponde al solo prefisso “<literal>/</literal>”, per cui e'
-processata dalla relativa sezione; la direttiva
-<link doc="ngx_http_index_module.xml" id="index"/>,
-in accordo ai propri parametri e alla direttiva
-“<literal>root /data/www</literal>”, verifica la presenza di eventuali file index.
-Se il file <path>/data/www/index.html</path> non esiste, ma esiste invece il
-file <path>/data/www/index.php</path> , allora la direttiva esegue una
-redirezione interna su “<literal>/index.php</literal>”, e nginx ricerca
-nuovamente le location, come se si trattasse di una richiesta del client.
-Come visto in precedenza, alla fine la richiesta rediretta e' processata
-dal server FastCGI.
-</listitem>
-
-</list>
-
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/http/server_names.xml
+++ /dev/null
@@ -1,513 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="I nomi dei server"
-         link="/it/docs/http/server_names.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="2"
-         author="Igor Sysoev"
-         editor="Brian Mercer">
-
-
-<section>
-
-<para>
-I nomi dei server, definiti usando la direttiva
-<link doc="ngx_http_core_module.xml" id="server_name"/>,
-determinano quale blocco
-<link doc="ngx_http_core_module.xml" id="server"/>
-viene usato per una data richiesta (per approfondire vedi
-"<link doc="request_processing.xml"/>”).
-
-I nomi possono essere definiti tramite una stringa determinata,
-oppure con caratteri jolly, oppure ancora tramite espressioni regolari:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  *.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  mail.*;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  ~^(?&lt;user&gt;.+)\.example\.net$;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-Nel corso della ricerca di un server virtuale name-based, se il nome corrisponde
-a piu' di una delle definizioni, ad esempio sia a nomi definiti tramite
-caratteri jolly che a nomi definiti tramite espressioni regolari, verra' scelta
-la prima variante individuata, secondo il seguente ordine di precedenza decrescente:
-<list type="enum">
-
-<listitem>
-nome esatto
-</listitem>
-
-<listitem>
-fra quelli definiti con caratteri jolly, il piu' lungo nome che comincia per
-asterisco, ad esempio “<literal>*.example.org</literal>”
-</listitem>
-
-<listitem>
-fra quelli definiti con caratteri jolly, il piu' lungo nome che termina per
-asterisco, ad esempio “<literal>mail.*</literal>”
-</listitem>
-
-<listitem>
-fra quelli definiti come espressioni regolare, il primo corrispondente
-(in base all'ordine con cui compaiono nel file di configurazione)
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="wildcard_names"
-        name="Nomi con caratteri jolly">
-
-<para>
-Un nome con caratteri jolly puo' contenere un asterisco solo all'inizio
-o alla fine del nome, e solo accanto ad un punto; ad esempio, i nomi
-“<literal>www.*.example.org</literal>”
-e “<literal>w*.example.org</literal>” non sono validi (pero' e'
-possibile definirli tramite espressioni regolari, per esempio in questo
-caso “<literal>~^www\..+\.example\.org$</literal>” e
-“<literal>~^w.*\.example\.org$</literal>”).
-Un asterisco puo' corrispondere a piu' parti di un nome:
-“<literal>*.example.org</literal>” corrisponde non solo a
-<literal>www.example.org</literal> ma anche a
-<literal>www.sub.example.org</literal>.
-</para>
-
-<para>
-E' possibile definire un nome speciale nella forma
-“<literal>.example.org</literal>”, che corrisponde sia al nome esatto
-“<literal>example.org</literal>” sia al nome con caratteri jolly
-“<literal>*.example.org</literal>”.
-</para>
-
-</section>
-
-
-<section id="regex_names"
-        name="Nomi con espressioni regolari">
-
-<para>
-Le espressioni regolari usate da nginx sono compatibili con quelle usate
-dal linguaggio di programmazione Perl (PCRE).
-Per usare una espressione regolare, il nome del server deve iniziare con
-il carattere tilde:
-
-<programlisting>
-server_name  ~^www\d+\.example\.net$;
-</programlisting>
-
-altrimenti viene considerato e trattato come un nome esatto, oppure,
-se l'espressione contiene un asterisco, come un nome con caratteri jolly
-(e molto probabilmente come uno non valido).
-E' importante non dimenticare i caratteri ancora “<literal>^</literal>” e
-“<literal>$</literal>”: non sono necessari dal punto di vista sintattico,
-ma lo sono da quello logico.
-Si noti inoltre che i caratteri punto nei nomi di dominio sono definiti
-facendoli precedere da “<literal>\</literal>”.
-Una espressione regolare contenente i caratteri “<literal>{</literal>” e
-“<literal>}</literal>”, deve essere racchiusa fra doppi apici:
-
-<programlisting>
-server_name  "~^(?&lt;name&gt;\w\d<b>{</b>1,3<b>}</b>+)\.example\.net$";
-</programlisting>
-
-altrimenti nginx non sara' in grado di avviarsi e mostrera' l'errore:
-
-<programlisting>
-directive "server_name" is not terminated by ";" in ...
-</programlisting>
-
-La sezione catturata di una espressione regolare che definisce un nome
-puo' essere usata in seguito come una variabile:
-
-<programlisting>
-server {
-    server_name   ~^(www\.)?(<b>?&lt;domain&gt;</b>.+)$;
-
-    location / {
-        root   /sites/<b>$domain</b>;
-    }
-}
-</programlisting>
-
-La libreria PCRE supporta sezioni catturate di nomi tramite la seguente sintassi:
-
-<table note="yes">
-
-<tr>
-<td><literal>?&lt;<value>nome</value>&gt;</literal></td>
-<td>Sintassi compatibile con Perl 5.10, supportata da PCRE-7.0 in poi</td>
-</tr>
-
-<tr>
-<td><literal>?'<value>nome</value>'</literal></td>
-<td>Sintassi compatibile con Perl 5.10, supportata da PCRE-7.0 in poi</td>
-</tr>
-
-<tr>
-<td><literal>?P&lt;<value>nome</value>&gt;</literal></td>
-<td>Sintassi compatibile con Python, supportata da PCRE-4.0 in poi</td>
-</tr>
-
-</table>
-
-Quando nginx non riesce ad avviarsi e mostra il seguente messaggio d'errore:
-
-<programlisting>
-pcre_compile() failed: unrecognized character after (?&lt; in ...
-</programlisting>
-
-significa che la libreria PCRE e' troppo vecchia, per cui e' bene provare
-ad usare invece la sintassi:
-“<literal>?P&lt;<value>name</value>&gt;</literal>”.
-E' possibile riferirsi a sezioni catturate anche usando cifre:
-
-<programlisting>
-server {
-    server_name   ~^(www\.)?(.+)$;
-
-    location / {
-        root   /sites/<b>$2</b>;
-    }
-}
-</programlisting>
-
-Comunque, tale uso dovrebbe essere limitato ai casi piu' semplici (come
-ad esempio quello appena mostrato), dato che i riferimenti con cifra
-possono essere sovrascritti facilmente.
-</para>
-
-
-</section>
-
-
-<section id="miscellaneous_names"
-        name="Nomi vari">
-
-<para>
-Alcuni nomi di server sono trattati in maniera speciale.
-</para>
-
-<para>
-Se si desidera che le richieste prive del campo <header>Host</header>
-dell'header siano processato in un blocco
-<link doc="ngx_http_core_module.xml" id="server"/>
-che non e' quello di default, e' necessario specificare un nome vuoto:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org  "";
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-
-Se in un blocco <link doc="ngx_http_core_module.xml" id="server"/>
-non e' specificato alcun <link doc="ngx_http_core_module.xml" id="server_name"/>,
-allora nginx usa il nome vuoto come nome del server.
-<note>
-sino alla versione 0.8.48, in questi casi nginx usava l'hostname della
-macchina come nome del server.
-</note>
-</para>
-
-<para>
-Se il nome del server e' definito come “<literal>$hostname</literal>” (0.9.4),
-il nome del server effettivamente usato e' l'hostname della macchina.
-</para>
-
-<para>
-Se viene fatta una richiesta usando l'indirizzo IP invece di un nome di server,
-il campo <header>Host</header> dell'header di richiesta conterra' l'indirizzo IP,
-e la richiesta potra' essere processata usando l'indirizzo IP come nome del server:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org
-                 www.example.org
-                 ""
-                 <b>192.168.1.1</b>
-                 ;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-In molti esempi di configurazione di un server catch-all e' spesso possibile
-notare l'uso di uno strano nome
-“<literal>_</literal>”:
-
-<programlisting>
-server {
-    listen       80  default_server;
-    server_name  _;
-    return       444;
-}
-</programlisting>
-
-Tale nome non ha niente di speciale, si tratta di un nome qualsiasi,
-scelto piu' o meno a caso fra quelli non validi come nome di dominio.
-Altri esempi di nomi non validi che sono talvolta pure usati sono
-“<literal>--</literal>” e “<literal>!@#</literal>”.
-</para>
-
-<para>
-Sino alla versione 0.6.25 nginx supportava il nome speciale
-“<literal>*</literal>”, che e' stato spesso interpretato erroneamente
-come un nome, non valido, per un server catch-all.
-In effetti, non si e' mai trattato di un nome per un server catch-all o
-di un nome con caratteri jolly: piuttosto, serviva a fornire la funzionalita'
-attualmente affidata alla direttiva
-<link doc="ngx_http_core_module.xml" id="server_name_in_redirect"/>.
-Il nome speciale “<literal>*</literal>” e' attualmente sconsigliato,
-ed e' considerato preferibile l'uso della direttiva
-<link doc="ngx_http_core_module.xml" id="server_name_in_redirect"/>.
-Si noti che non c'e' alcun modo di specificare un nome catch-all o un
-server di default usando la direttiva
-<link doc="ngx_http_core_module.xml" id="server_name"/>:
-si tratta di una proprieta' della direttiva
-<link doc="ngx_http_core_module.xml" id="listen"/>
-e non della direttiva
-<link doc="ngx_http_core_module.xml" id="server_name"/>
-Si faccia riferimento anche a
-“<link doc="request_processing.xml"/>”.
-E' possibile definire server in ascolto sulle porte *:80 e *:8080,
-e specificare che uno e' quello di default per la porta *:8080,
-mentre l'altro e' quello di default per la porta *:80:
-
-<programlisting>
-server {
-    listen       80;
-    listen       8080  default_server;
-    server_name  example.net;
-    ...
-}
-
-server {
-    listen       80  default_server;
-    listen       8080;
-    server_name  example.org;
-    ...
-}
-</programlisting>
-</para>
-
-
-</section>
-
-
-<section id="optimization"
-        name="Ottimizzazione">
-
-<para>
-I nomi esatti, i nomi con caratteri jolly che iniziano per asterisco,
-ed i nomi con caratteri jolly che terminano per asterisco,
-sono registrati in tre tabelle di hash collegate alle porte in ascolto.
-Le dimensioni delle tabelle sono ottimizzate in fase di configurazione,
-in maniera tale che i nomi possano essere recuperati con il minimo numero
-di miss alla cache della CPU.
-Dettagli su come configurare le tabelle di hash sono forniti in un
-<link doc="../hash.xml">documento</link> apposito.
-</para>
-
-<para>
-La prima tabella di hash consultata e' quella dei nomi esatti;
-se non si trova il nome ricercato, si prosegue nella tabella di hash
-dei nomi con caratteri jolly che iniziano per asterisco;
-in caso di ulteriore riscontro negativo, si passa alla tabella di hash
-dei nomi con caratteri jolly che finiscono per asterisco.
-</para>
-
-<para>
-La ricerca in una tabella di hash per nomi con caratteri jolly e' piu' lenta
-della ricerca nella tabella relativa ai nomi esatti, dato che i nomi sono ricercati
-per parti del dominio.
-Si noti che il formato speciale “<literal>.example.org</literal>” e' salvato in una
-tabella di hash di nomi con caratteri jolly, e non in quella dei nomi esatti.
-</para>
-
-<para>
-Le espressioni regolari sono testate in sequenza, per cui sono il metodo piu'
-lento e sono non scalabili.
-</para>
-
-<para>
-Per queste ragioni, se possibile e' sempre meglio usare nomi esatti.
-Ad esempio, se i nomi di server richiesti piu' di frequente sono
-<literal>example.org</literal> e <literal>www.example.org</literal>,
-e' piu' efficiente definirli in maniera esplicita:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org  *.example.org;
-    ...
-}
-</programlisting>
-
-che usare il formato piu' semplice:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  .example.org;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-Se il numero di nomi di server definiti e' molto grande,
-oppure se sono stati definiti nomi di server decisamente lunghi,
-per la messa a punto e' possibile che sia necessario utilizzare
-le direttive del livello <i>http</i>
-<link doc="ngx_http_core_module.xml" id="server_names_hash_max_size"/>
-e <link doc="ngx_http_core_module.xml" id="server_names_hash_bucket_size"/>.
-Il valore di default della direttiva
-<link doc="ngx_http_core_module.xml" id="server_names_hash_bucket_size"/>
-puo' essere pari a 32 o 64, oppure ad un altro valore, in base alla
-dimensione della linea di cache della CPU.
-Se il valore di default e' 32 ed il nome del server e' definito come
-“<literal>too.long.server.name.example.org</literal>”, allora nginx non potra'
-partire e sara' mostrato il seguente messaggio d'errore:
-
-<programlisting>
-could not build the server_names_hash,
-you should increase server_names_hash_bucket_size: 32
-</programlisting>
-
-In tal caso, il valore della direttiva dovrebbe essere aumentata sino alla
-successiva potenza di due:
-
-<programlisting>
-http {
-    server_names_hash_bucket_size  64;
-    ...
-</programlisting>
-
-Se sono stati definiti molti nomi di server, potrebbe comparire un altro
-messaggio di errore:
-
-<programlisting>
-could not build the server_names_hash,
-you should increase either server_names_hash_max_size: 512
-or server_names_hash_bucket_size: 32
-</programlisting>
-
-In tal caso, si provi prima a impostare
-<link doc="ngx_http_core_module.xml" id="server_names_hash_max_size"/>
-ad un numero prossimo al numero dei nomi di server.
-Solo nel caso in cui cio' non risultasse sufficiente, oppure se il tempo di avvio
-di nginx fosse inaccetabilmente alto, si provi ad incrementare
-<link doc="ngx_http_core_module.xml" id="server_names_hash_bucket_size"/>.
-</para>
-
-<para>
-Se su una data porta in ascolto c'e' un unico server, allora nginx saltera' del tutto
-la verifica dei nomi dei server (e non costituira' le tabelle di hash per la porta
-in questione).
-C'e' una eccezione: se un nome di server e' una espressione regolare con
-sezioni catturate, allora nginx dovra' svolgere l'espressione regolare per recuperare
-le sezioni catturate.
-</para>
-
-</section>
-
-
-<section id="compatibility"
-        name="Compatibilita'">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Il nome di server speciale “<literal>$hostname</literal>” e' supportato
-dalla versione 0.9.4 in poi.
-</listitem>
-
-<listitem>
-Il nome vuoto “” e' il valore di default per il nome dei server
-dalla versione 0.8.48 in poi.
-</listitem>
-
-<listitem>
-Il riferimento tramite nome a sezioni catturate in un nome di server definito
-tramite espressione regolare e' supportato dalla versione 0.8.25 in poi.
-</listitem>
-
-<listitem>
-Le sezioni catturate in un nome di server definito tramite espressione regolare
-sono supportate dalla versione 0.7.40 in poi.
-</listitem>
-
-<listitem>
-Il nome di server vuoto  “” e' supportato
-dalla versione 0.7.12 in poi.
-</listitem>
-
-<listitem>
-La definizione di nomi di server e di espressioni regolari tramite caratteri jolly
-e' supportata dalla versione 0.6.25 in poi.
-</listitem>
-
-<listitem>
-La definizione di nomi di server tramite espressioni regolari e' supportata
-dalla versione 0.6.7 in poi.
-</listitem>
-
-<listitem>
-Il formato con caratteri jolly <literal>example.*</literal> e' supportato
-dalla versione 0.6.0 in poi.
-</listitem>
-
-<listitem>
-Il formato speciale <literal>.example.org</literal> e' supportato
-dalla versione 0.3.18 in poi.
-</listitem>
-
-<listitem>
-Il formato con caratteri jolly <literal>*.example.org</literal> e' supportato
-dalla versione 0.1.13 in poi.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/index.xml
+++ /dev/null
@@ -1,402 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Documentazione di nginx"
-         link="/it/docs/"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="9"
-         toc="no">
-
-
-<section id="introduction" name="Introduzione">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="install.xml"/>
-</listitem>
-
-<listitem>
-<link doc="beginners_guide.xml"/>
-</listitem>
-
-<listitem>
-<link doc="control.xml"/>
-</listitem>
-
-<listitem>
-<link doc="events.xml"/>
-</listitem>
-
-<listitem>
-<link doc="hash.xml"/>
-</listitem>
-
-<listitem>
-<link doc="debugging_log.xml"/>
-</listitem>
-
-<listitem>
-<link doc="syntax.xml"/>
-</listitem>
-
-<listitem>
-<link doc="windows.xml"/>
-</listitem>
-
-</list>
-
-<list type="bullet">
-
-<listitem>
-<link doc="http/request_processing.xml"/>
-</listitem>
-
-<listitem>
-<link doc="http/server_names.xml"/>
-</listitem>
-
-<listitem>
-<link doc="http/configuring_https_servers.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="howto" name="How-To">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="configure.xml"/>
-</listitem>
-
-<listitem>
-<link doc="howto_build_on_win32.xml"/>
-</listitem>
-
-<!--
-<listitem>
-<link doc="nginx_dtrace_pid_provider.xml"/>
-</listitem>
--->
-
-</list>
-
-<list type="bullet">
-
-<listitem>
-<link doc="http/converting_rewrite_rules.xml"/>
-</listitem>
-
-<!--
-<listitem>
-<link doc="http/websocket.xml"/>
-</listitem>
--->
-
-</list>
-</para>
-
-</section>
-
-
-<section id="development" name="Sviluppo">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="contributing_changes.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<!--
-<section name="Guida di riferimento dei moduli">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="dirindex.xml"/>
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="ngx_core_module.xml" />
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="http/ngx_http_core_module.xml">
-ngx_http_core_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_access_module.xml">
-ngx_http_access_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_addition_module.xml">
-ngx_http_addition_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_auth_basic_module.xml">
-ngx_http_auth_basic_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_autoindex_module.xml">
-ngx_http_autoindex_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_browser_module.xml">
-ngx_http_browser_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_charset_module.xml">
-ngx_http_charset_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_dav_module.xml">
-ngx_http_dav_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_empty_gif_module.xml">
-ngx_http_empty_gif_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_fastcgi_module.xml">
-ngx_http_fastcgi_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_flv_module.xml">
-ngx_http_flv_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_geo_module.xml">
-ngx_http_geo_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_geoip_module.xml">
-ngx_http_geoip_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_gunzip_module.xml">
-ngx_http_gunzip_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_gzip_module.xml">
-ngx_http_gzip_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_gzip_static_module.xml">
-ngx_http_gzip_static_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_headers_module.xml">
-ngx_http_headers_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_image_filter_module.xml">
-ngx_http_image_filter_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_index_module.xml">
-ngx_http_index_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_limit_conn_module.xml">
-ngx_http_limit_conn_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_limit_req_module.xml">
-ngx_http_limit_req_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_log_module.xml">
-ngx_http_log_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_map_module.xml">
-ngx_http_map_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_memcached_module.xml">
-ngx_http_memcached_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_mp4_module.xml">
-ngx_http_mp4_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_perl_module.xml">
-ngx_http_perl_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_proxy_module.xml">
-ngx_http_proxy_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_random_index_module.xml">
-ngx_http_random_index_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_realip_module.xml">
-ngx_http_realip_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_referer_module.xml">
-ngx_http_referer_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_rewrite_module.xml">
-ngx_http_rewrite_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_secure_link_module.xml">
-ngx_http_secure_link_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_spdy_module.xml">
-ngx_http_spdy_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_split_clients_module.xml">
-ngx_http_split_clients_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_ssi_module.xml">
-ngx_http_ssi_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_ssl_module.xml">
-ngx_http_ssl_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_sub_module.xml">
-ngx_http_sub_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_upstream_module.xml">
-ngx_http_upstream_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_userid_module.xml">
-ngx_http_userid_module</link>
-</listitem>
-
-<listitem>
-<link doc="http/ngx_http_xslt_module.xml">
-ngx_http_xslt_module</link>
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="mail/ngx_mail_core_module.xml">
-ngx_mail_core_module</link>
-</listitem>
-
-<listitem>
-<link doc="mail/ngx_mail_pop3_module.xml">
-ngx_mail_pop3_module</link>
-</listitem>
-
-<listitem>
-<link doc="mail/ngx_mail_imap_module.xml">
-ngx_mail_imap_module</link>
-</listitem>
-
-<listitem>
-<link doc="mail/ngx_mail_smtp_module.xml">
-ngx_mail_smtp_module</link>
-</listitem>
-
-<listitem>
-<link doc="mail/ngx_mail_auth_http_module.xml">
-ngx_mail_auth_http_module</link>
-</listitem>
-
-<listitem>
-<link doc="mail/ngx_mail_proxy_module.xml">
-ngx_mail_proxy_module</link>
-</listitem>
-
-<listitem>
-<link doc="mail/ngx_mail_ssl_module.xml">
-ngx_mail_ssl_module</link>
-</listitem>
-
-</list>
-</para>
-
-</section>
--->
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/install.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Installare nginx"
-         link="/it/docs/install.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="3"
-         toc="no">
-
-<section>
-
-<para>
-nginx puo' essere installato in varie maniere, a seconda del sistema operativo.
-</para>
-
-</section>
-
-
-<section id="linux" name="Installazione su Linux">
-
-<para>
-Con Linux, e' possibile usare i <link doc="../linux_packages.xml">pacchetti</link> nginx binari, scaricabili da nginx.org.
-</para>
-
-</section>
-
-
-<section id="freebsd" name="Installazione su FreeBSD">
-
-<para>
-Con FreeBSD, e' possibile installare nginx o tramite
-<link url="https://docs.freebsd.org/en/books/handbook/ports/#pkgng-intro">pacchetti</link>
-binari oppure tramite <link url="https://docs.freebsd.org/en/books/handbook/ports/#ports-using">ports</link>.
-Ports consente maggiore flessibilita', e permette di scegliere fra un gran numero di opzioni:
-ports provvedera' a compilare nginx con le opzioni specificate, e ad installarlo.
-</para>
-
-</section>
-
-
-<section id="source_install" name="Compilazione dai sorgenti">
-
-<para>
-Se e' richiesta qualche funzionalita' particolare e non disponibile con i pacchetti binari o con ports,
-e' possibile compilare nginx a partire dai sorgenti. Per quanto maggiormente flessibile,
-questo approccio per un principiante puo' risultare piu' complesso.
-Per maggiori informazioni, fare riferimento a <link doc="configure.xml"/>.
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/syntax.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Unita' di misura del file di configurazione"
-         link="/it/docs/syntax.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="3">
-
-<section>
-
-<para>
-Le dimensioni possono essere indicate in byte, kilobyte
-(suffissi <literal>k</literal> e <literal>K</literal>), e megabyte
-(suffissi <literal>m</literal> e <literal>M</literal>), ad esempio
-“<literal>1024</literal>”, “<literal>8k</literal>”, “<literal>1m</literal>”.
-</para>
-
-<para>
-Gli intervalli di tempo possono essere specificati in millisecondi,
-secondi, minuti, ore, giorni, e cosi' via, utilizzando i suffissi seguenti:
-<table width="30%">
-<tr><td width="20%">ms</td><td>millisecondi</td></tr>
-<tr><td width="20%">s</td><td>secondi</td></tr>
-<tr><td width="20%">m</td><td>minuti</td></tr>
-<tr><td width="20%">h</td><td>ore</td></tr>
-<tr><td width="20%">d</td><td>giorni</td></tr>
-<tr><td width="20%">w</td><td>settimane</td></tr>
-<tr><td width="20%">M</td><td>mesi, 30 giorni</td></tr>
-<tr><td width="20%">y</td><td>anni, 365 giorni</td></tr>
-</table>
-</para>
-
-<para>
-E' possibile combinare in un singolo valore piu' unita', specificandole
-dalla piu' significativa alla meno significativa ed eventualmente
-separandole con spazi. Ad esempio, “<literal>1h 30m</literal>” indica
-lo stesso tempo di “<literal>90m</literal>” o “<literal>5400s</literal>”.
-Un valore senza suffisso indica secondi, comunque e' sempre raccomandato
-specificare un suffisso.
-</para>
-
-<para>
-Alcuni intervalli temporali possono essere specificati solo
-con una risoluzione di secondi.
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/docs/windows.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="nginx per Windows"
-         link="/it/docs/windows.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="2">
-
-<section>
-
-<para>
-La versione di nginx per Windows usa le API native Win32, e non il layer di
-emulazione Cygwin.
-Attualmente e' usato solo il metodo di connessione <c-func>select</c-func>,
-per cui non e' possibile attendersi prestazioni e scalabilita' eccellenti;
-per tale ragione, e anche per altre, quella per Windows e'
-considerata una versione <i>beta</i>.
-Al momento risultano implementate piu' o meno le stesse funzionalita' della
-versione di nginx per UNIX, con l'eccezione del filtro XSLT, del filtro immagini,
-del modulo GeoIP, e del linguaggio Perl embedded.
-</para>
-
-<para>
-Per installare nginx/Windows, e' bene <link doc="../download.xml">scaricare</link>
-l'ultima distribuzione disponibile della versione mainline (<mainline_version/>),
-che contiene le correzioni piu' recenti.
-Bisogna scompattare la distribuzione, spostarsi nella directory
-nginx-<mainline_version/> e lanciare <command>nginx</command>.
-Segue un esempio in cui la directory e' sul drive C: :
-
-<programlisting>
-cd c:\
-unzip nginx-<mainline_version/>.zip
-cd nginx-<mainline_version/>
-start nginx
-</programlisting>
-
-Avviare l'utility a linea di comando <command>tasklist</command>
-per vedere i processi nginx:
-
-<programlisting>
-C:\nginx-<mainline_version/>&gt;tasklist /fi "imagename eq nginx.exe"
-
-Image Name           PID Session Name     Session#    Mem Usage
-=============== ======== ============== ========== ============
-nginx.exe            652 Console                 0      2 780 K
-nginx.exe           1332 Console                 0      3 112 K
-</programlisting>
-
-Uno dei due e' il processo master, l'altro il processo worker.
-Se nginx non si avvia, verificarne la ragione nel file di log
-degli errori <path>logs\error.log</path> ;
-se tale file non e' stato creato, la ragione dovrebbe essere riportata
-nel Windows Event Log.
-Se viene mostrata una pagina di errore invece della pagina attesa,
-verificarne la ragione nel solito file <path>logs\error.log</path> .
-</para>
-
-<para>
-nginx/Windows utilizza la directory in cui e' stato avviato come prefisso
-per i path relativi della configurazione.
-Nell'esempio precedente, il prefisso e'
-<path>C:\nginx-<mainline_version/>\</path> .
-I path nei file di configurazione devono essere specificati usando gli
-slash del formato UNIX:
-
-<programlisting>
-access_log   logs/site.log;
-root         C:/web/html;
-</programlisting>
-</para>
-
-<para>
-nginx/Windows e' eseguito come una normale applicazione di console e
-non come un servizio, e puo' essere gestito con i comandi seguenti:
-
-<table note="yes">
-
-<tr>
-<td width="20%">nginx -s stop</td>
-<td>arresto rapido</td>
-</tr>
-
-<tr>
-<td>nginx -s quit</td>
-<td>arresto controllato</td>
-</tr>
-
-<tr>
-<td>nginx -s reload</td>
-<td>
-ricaricamento della configurazione,
-con avvio di un nuovo processo worker con la nuova configurazione,
-ed arresto controllato del vecchio processo worker.
-</td>
-</tr>
-
-<tr>
-<td>nginx -s reopen</td>
-<td>riapertura dei file di log</td>
-</tr>
-
-</table>
-</para>
-
-</section>
-
-<section id="known_issues"
-        name="Problemi noti">
-
-<list type="bullet">
-
-<listitem>
-Nonostante sia possibile avviare diversi worker, in effetti
-solo uno di essi esegue tutto il lavoro.
-</listitem>
-
-<listitem>
-Un worker puo' gestire non piu' di 1024 connessioni simultanee.
-</listitem>
-
-<listitem>
-La cache, ed altri moduli che richiedono il supporto alla memoria condivisa,
-non funzionano su Windows Vista e versioni successive, in quanto su tali
-versioni e' in uso la address space layout randomization.
-</listitem>
-
-</list>
-
-</section>
-
-<section id="possible_future_enhancements"
-        name="Possibili sviluppi futuri">
-
-<list type="bullet">
-
-<listitem>
-L'esecuzione come servizio.
-</listitem>
-
-<listitem>
-L'uso di I/O completion port come metodo di processo delle connessioni.
-</listitem>
-
-<listitem>
-L'uso di piu' thread worker all'interno di un singolo processo worker.
-</listitem>
-
-</list>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/download.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../dtd/article.dtd">
-
-<article name="nginx: download"
-         link="/it/download.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="1">
-
-
-<section name="Versione principale">
-
-<download last="1" tag="mainline" />
-
-</section>
-
-
-<section name="Versione stabile">
-
-<download last="1" tag="stable" />
-
-</section>
-
-
-<section name="Versioni precedenti">
-
-<download last="1" tag="legacy" />
-
-</section>
-
-
-<section name="Codice sorgente">
-
-<para>
-Archivio Mercurial (sola lettura):
-<list type="bullet">
-
-<listitem>
-code: <literal>http://hg.nginx.org/nginx</literal>
-</listitem>
-<listitem>
-site: <literal>http://hg.nginx.org/nginx.org</literal>
-</listitem>
-
-</list>
-</para>
-
-<para>
-<link url="http://trac.nginx.org/nginx/browser">Esplora i sorgenti con Trac</link>
-</para>
-
-</section>
-
-
-<section name="Pacchetti precompilati">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Pacchetti Linux per la
-<link doc="linux_packages.xml" id="stable">versione stabile</link>
-</listitem>
-
-<listitem>
-Pacchetti Linux per la
-<link doc="linux_packages.xml" id="mainline">versione principale</link>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/index.xml
+++ /dev/null
@@ -1,357 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../dtd/article.dtd">
-
-<article name="nginx"
-         link="/it/"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="11">
-
-
-<section>
-
-<para>
-nginx [engine x] e' un server HTTP e reverse proxy,
-nonche' un server mail proxy, scritto da
-<link url="http://sysoev.ru/en/">Igor Sysoev</link>.
-Per molto tempo e' stato usato principalmente per alcuni
-siti russi ad alto carico, ad esempio
-<link url="http://www.yandex.ru">Yandex</link>,
-<link url="http://www.mail.ru">Mail.Ru</link>,
-<link url="http://vkontakte.ru">VKontakte</link> e
-<link url="http://www.rambler.ru">Rambler</link>;
-in base ai dati di Netcraft, nell'ottobre 2013 nginx
-e' il server HTTP o reverse proxy del
-<link url="http://news.netcraft.com/archives/2013/10/02/october-2013-web-server-survey.html">15.08%
-dei siti a maggiore carico</link>.
-Alcuni casi di successo sono:
-<link url="https://signup.netflix.com/openconnect/software">Netflix</link>,
-<link url="http://nginx.com/cs/nginx-automattic.html">Wordpress.com</link>,
-<link url="http://blog.fastmail.fm/2007/01/04/webimappop-frontend-proxies-changed-to-nginx/">FastMail.FM</link>.
-</para>
-
-<para>
-La documentazione ed i sorgenti sono distribuiti in base alla
-<link url="../LICENSE">licenza BSD con 2 clausole</link>.
-</para>
-
-</section>
-
-
-<section id="basic_http_features"
-        name="Caratteristiche principali del server HTTP">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Servizio di file statici e
-<link doc="docs/http/ngx_http_index_module.xml">index</link>,
-<link doc="docs/http/ngx_http_autoindex_module.xml">autoindexing</link>;
-<link doc="docs/http/ngx_http_core_module.xml"
-       id="open_file_cache">cache dei descrittori dei file aperti</link>;
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_proxy_module.xml">Reverse proxy accelerato
-con cache</link>;
-<link doc="docs/http/ngx_http_upstream_module.xml">semplice bilanciamento
-di carico e load balancing</link>;
-</listitem>
-
-<listitem>
-Supporto accelerato con cache di server
-<link doc="docs/http/ngx_http_fastcgi_module.xml">FastCGI</link>,
-uwsgi, SCGI, e
-<link doc="docs/http/ngx_http_memcached_module.xml">memcached</link>;
-<link doc="docs/http/ngx_http_upstream_module.xml">semplice bilanciamento
-di carico e load balancing</link>;
-</listitem>
-
-<listitem>
-Architettura modulare.
-Filtri per
-<link doc="docs/http/ngx_http_gzip_module.xml">gzip</link>,
-intervalli di byte, risposte a blocchi,
-<link doc="docs/http/ngx_http_xslt_module.xml">XSLT</link>,
-<link doc="docs/http/ngx_http_ssi_module.xml">SSI</link>,
-e filtro per la <link doc="docs/http/ngx_http_image_filter_module.xml">
-trasformazione d'immagini</link>.
-Inclusioni multiple di SSI in una stessa pagina possono essere
-processate in parallelo se sono gestite da server proxy o FastCGI;
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_ssl_module.xml">Supporto a SSL e TLS SNI
-</link>.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="other_http_features"
-        name="Caratteristiche ulteriori del server HTTP">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="docs/http/request_processing.xml">server virtuali</link>
-name-based e IP-based;
-</listitem>
-
-<listitem>
-Supporto a connessioni
-<link doc="docs/http/ngx_http_core_module.xml"
-       id="keepalive_timeout">keep-alive</link>
-e pipelined;
-</listitem>
-
-<listitem>
-Configurazione flessibile;
-</listitem>
-
-<listitem>
-<link doc="docs/control.xml" id="reconfiguration">Caricamento di una nuova
-configurazione </link> e <link doc="docs/control.xml" id="upgrade">
-aggiornamento dell'eseguibile</link> senza interruzione di servizio ai client;
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_log_module.xml" id="log_format">Access log in vari
-formati</link>, <link doc="docs/http/ngx_http_log_module.xml" id="access_log">log con buffer
-</link>, e <link doc="docs/control.xml" id="logs">veloce rotazione dei log</link>;
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_core_module.xml" id="error_page">Redirezione</link>
-dei codici d'errore 3xx-5xx;
-</listitem>
-
-<listitem>
-Modulo di rewrite:
-<link doc="docs/http/ngx_http_rewrite_module.xml">trasformazione delle URI
-con uso di espressioni regolari</link>;
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_rewrite_module.xml" id="if">Esecuzione di funzioni differenti
-</link> a seconda dell'
-<link doc="docs/http/ngx_http_geo_module.xml">indirizzo del client</link>;
-</listitem>
-
-<listitem>
-Controllo d'accesso in base a
-<link doc="docs/http/ngx_http_access_module.xml">indirizzo IP del client</link>, a
-<link doc="docs/http/ngx_http_auth_basic_module.xml">
-password (HTTP Basic authentication)</link>, e al
-<link doc="docs/http/ngx_http_auth_request_module.xml">risultato di una sottorichiesta</link>;
-</listitem>
-
-<listitem>
-Validazione del
-<link doc="docs/http/ngx_http_referer_module.xml">referer HTTP</link>;
-</listitem>
-
-<listitem>
-Metodi <link doc="docs/http/ngx_http_dav_module.xml">PUT, DELETE, MKCOL, COPY,
-e MOVE</link>;
-</listitem>
-
-<listitem>
-Streaming
-<link doc="docs/http/ngx_http_flv_module.xml">FLV</link> e
-<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">
-Limitazione della velocita' del flusso di risposta</link>;
-</listitem>
-
-<listitem>
-Limitazione del numero di
-<link doc="docs/http/ngx_http_limit_conn_module.xml">connessioni</link> o
-<link doc="docs/http/ngx_http_limit_req_module.xml">richieste</link>
-simultanee da un dato indirizzo;
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_perl_module.xml">Perl embedded</link>.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="mail_proxy_server_features"
-        name="Caratteristiche del server mail proxy">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Redirezione dell'utente verso server
-<link doc="docs/mail/ngx_mail_imap_module.xml">IMAP</link>
-o
-<link doc="docs/mail/ngx_mail_pop3_module.xml">POP3</link>
-tramite un server esterno di
-<link doc="docs/mail/ngx_mail_auth_http_module.xml">autenticazione</link>
-HTTP;
-</listitem>
-
-<listitem>
-Autenticazione dell'utente tramite un server esterno di
-<link doc="docs/mail/ngx_mail_auth_http_module.xml">autenticazione</link>
-e redirezione della connessione verso un server
-<link doc="docs/mail/ngx_mail_smtp_module.xml">SMTP</link>;
-</listitem>
-
-<listitem>
-Metodi di autenticazione:
-
-<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>
-supporto a
-<link doc="docs/mail/ngx_mail_ssl_module.xml">SSL</link>;
-</listitem>
-
-<listitem>
-supporto a
-<link doc="docs/mail/ngx_mail_ssl_module.xml" id="starttls">STARTTLS
-e STLS</link>.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="architecture_and_scalability"
-        name="Architettura e scalabilita'">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Un processo master e numerosi processi worker;
-i processi worker girano con un utente non privilegiato;
-</listitem>
-
-<listitem>
-<link doc="docs/events.xml">Supporto</link> a
-kqueue (FreeBSD 4.1+),
-epoll (Linux 2.6+), segnali rt (Linux 2.2.19+),
-/dev/poll (Solaris 7 11/99+), event ports (Solaris 10),
-select, e poll;
-</listitem>
-
-<listitem>
-Supporto alle differenti funzionalita' di kqueue, fra cui EV_CLEAR, EV_DISABLE
-(per disabilitare temporaneamente eventi), NOTE_LOWAT, EV_EOF,
-numero di dati disponibili, codici d'errore;
-</listitem>
-
-<listitem>
-supporto a sendfile (FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5+), sendfile64 (Linux 2.4.21+),
-e sendfilev (Solaris 8 7/01+);
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_core_module.xml" id="aio">File 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+, Mac OS X);
-</listitem>
-
-<listitem>
-<link doc="docs/http/ngx_http_core_module.xml" id="listen">supporto</link> a
-Accept-filters (FreeBSD 4.1+, NetBSD 5.0+) e TCP_DEFER_ACCEPT (Linux 2.4+);
-</listitem>
-
-<listitem>
-10000 connessioni HTTP keep-alive inattive richiedono circa 2.5M di memoria;
-</listitem>
-
-<listitem>
-Le operazioni di copia di dati risultano minime.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="tested_os_and_platforms"
-        name="Piattaforme e sistemi operativi testati">
-
-<para>
-<list type="bullet">
-
-<listitem>
-FreeBSD 3&mdash;10 / i386; FreeBSD 5&mdash;10 / amd64;
-</listitem>
-
-<listitem>
-Linux 2.2&mdash;3 / i386; Linux 2.6&mdash;3 / amd64;
-</listitem>
-
-<listitem>
-Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
-</listitem>
-
-<listitem>
-AIX 7.1 / powerpc;
-</listitem>
-
-<listitem>
-HP-UX 11.31 / ia64;
-</listitem>
-
-<listitem>
-Mac OS X / ppc, i386;
-</listitem>
-
-<listitem>
-Windows XP, Windows Server 2003.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/linux_packages.xml
+++ /dev/null
@@ -1,332 +0,0 @@
-<!--
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../dtd/article.dtd">
-
-<article name="nginx: pacchetti Linux"
-         link="/it/linux_packages.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="4"
-         toc="no">
-
-<section id="distribuzioni">
-
-<para>
-Attualmente sono disponibili pacchetti nginx per le seguenti distribuzioni
-e versioni:
-</para>
-
-<para>
-RHEL/CentOS:
-
-<table note="yes">
-
-<tr>
-<td width="20%">Versione</td>
-</tr>
-
-<tr>
-<td width="20%">5.x</td>
-</tr>
-
-<tr>
-<td width="20%">6.x</td>
-</tr>
-
-</table>
-</para>
-
-<para>
-Debian:
-
-<table note="yes">
-
-<tr>
-<td width="20%">Versione</td>
-<td>Nome in codice</td>
-</tr>
-
-<tr>
-<td width="20%">6.x</td>
-<td>squeeze</td>
-</tr>
-
-<tr>
-<td width="20%">7.x</td>
-<td>wheezy</td>
-</tr>
-
-</table>
-</para>
-
-<para>
-Ubuntu:
-
-<table note="yes">
-
-<tr>
-<td width="20%">Versione</td>
-<td>Nome in codice</td>
-</tr>
-
-<tr>
-<td width="20%">10.04</td>
-<td>lucid</td>
-</tr>
-
-<tr>
-<td width="20%">11.10</td>
-<td>oneiric</td>
-</tr>
-
-<tr>
-<td width="20%">12.04</td>
-<td>precise</td>
-</tr>
-
-<tr>
-<td width="20%">12.10</td>
-<td>quantal</td>
-</tr>
-
-<tr>
-<td width="20%">13.04</td>
-<td>raring</td>
-</tr>
-
-</table>
-</para>
-
-<para>
-Per abilitare gli aggiornamenti automatici dei pacchetti Linux,
-per la distribuzione RHEL/CentOS configurare l'archivio yum,
-e per la distribuzione Debian/Ubuntu l'archivio apt.
-</para>
-
-</section>
-
-
-<section name="Pacchetti precompilati per la versione stabile" id="stable">
-
-<para>
-Nel caso di RHEL/CentOS, per configurare l'archivio yum scegliere
-l'opportuno pacchetto <literal>nginx-release</literal> dalla lista:
-
-<list type="bullet">
-
-<listitem>
-<link url="http://nginx.org/packages/rhel/5/noarch/RPMS/nginx-release-rhel-5-0.el5.ngx.noarch.rpm">RHEL 5</link>
-</listitem>
-
-<listitem>
-<link url="http://nginx.org/packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm">RHEL 6</link>
-</listitem>
-
-<listitem>
-<link url="http://nginx.org/packages/centos/5/noarch/RPMS/nginx-release-centos-5-0.el5.ngx.noarch.rpm">CentOS 5</link>
-</listitem>
-
-<listitem>
-<link url="http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm">CentOS 6</link>
-</listitem>
-
-</list>
-
-Questo pacchetto contiene il file di configurazione di yum ed una chiave
-PGP pubblica necessaria per autenticare i pacchetti RPM firmati.
-Bisogna scaricarlo e installarlo, e quindi lanciare il seguente comando:
-<programlisting>
-yum install nginx
-</programlisting>
-
-In alternativa, la configurazione di un archivio puo' essere aggiunta
-a mano, quindi senza installare il relativo pacchetto
-<literal>nginx-release</literal>. Bisogna creare il file
-<path>/etc/yum.repos.d/nginx.repo</path> con il contenuto seguente:
-
-<programlisting>
-[nginx]
-name=nginx repo
-baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
-gpgcheck=0
-enabled=1
-</programlisting>
-
-Sostituire “<literal>OS</literal>” con “<literal>rhel</literal>” o
-“<literal>centos</literal>”,
-a seconda della distribuzione usata, e “<literal>OSRELEASE</literal>”
-con “<literal>5</literal>” o “<literal>6</literal>”,
-per le versioni 5.x o 6.x, rispettivamente.
-</para>
-
-<para>
-Nel caso di Debian/Ubuntu, per autenticare la firma dell'archivio nginx
-e per eliminare gli avvisi riguardanti l'assenza della chiave PGP che
-vengono visualizzati durante l'installazione dei pacchetti di nginx,
-bisogna aggiungere la chiave usata per firmare i pacchetti e l'archivio
-nginx al keyring del programma <command>apt</command>; a tal proposito
-bisogna scaricare <link url="http://nginx.org/keys/nginx_signing.key">
-questa chiave</link>, ed aggiungerla al keyring di <command>apt</command>
-tramite il seguente comando:
-<programlisting>
-sudo apt-key add nginx_signing.key
-</programlisting>
-</para>
-
-<para>
-Per Debian, bisogna sostituire <i>nome_in_codice</i> con il
-<link id="distributions">nome in codice</link> della distribuzione, e
-aggiungere in coda al file <path>/etc/apt/sources.list</path> le righe seguenti:
-
-<programlisting>
-deb http://nginx.org/packages/debian/ <i>nome_in_codice</i> nginx
-deb-src http://nginx.org/packages/debian/ <i>nome_in_codice</i> nginx
-</programlisting>
-</para>
-
-<para>
-Per Ubuntu, bisogna sostituire <i>nome_in_codice</i> con il
-<link id="distributions">nome in codice</link> della distribuzione, e
-aggiungere in coda al file <path>/etc/apt/sources.list</path> le righe seguenti:
-
-<programlisting>
-deb http://nginx.org/packages/ubuntu/ <i>nome_in_codice</i> nginx
-deb-src http://nginx.org/packages/ubuntu/ <i>nome_in_codice</i> nginx
-</programlisting>
-</para>
-
-<para>
-Sia per Debian, sia per Ubuntu, lanciare infine i seguenti comandi:
-<programlisting>
-apt-get update
-apt-get install nginx
-</programlisting>
-</para>
-
-</section>
-
-
-<section name="Pacchetti precompilati per la versione principale" id="mainline">
-
-<para>
-Nel caso di RHEL/CentOS, per configurare l'archivio yum creare il file
-<path>/etc/yum.repos.d/nginx.repo</path>
-con il contenuto seguente:
-
-<programlisting>
-[nginx]
-name=nginx repo
-baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/
-gpgcheck=0
-enabled=1
-</programlisting>
-
-Sostituire “<literal>OS</literal>” con “<literal>rhel</literal>” o
-“<literal>centos</literal>”,
-a seconda della distribuzione usata, e “<literal>OSRELEASE</literal>”
-con “<literal>5</literal>” o “<literal>6</literal>”,
-per le versioni 5.x o 6.x, rispettivamente.
-</para>
-
-<para>
-Nel caso di Debian/Ubuntu, per autenticare la firma dell'archivio nginx
-e per eliminare gli avvisi riguardanti l'assenza della chiave PGP che
-vengono visualizzati durante l'installazione dei pacchetti di nginx,
-bisogna aggiungere la chiave usata per firmare i pacchetti e l'archivio
-nginx al keyring del programma <command>apt</command>; a tal proposito
-bisogna scaricare <link url="http://nginx.org/keys/nginx_signing.key">
-questa chiave</link>, ed aggiungerla al keyring di <command>apt</command>
-tramite il seguente comando:
-<programlisting>
-sudo apt-key add nginx_signing.key
-</programlisting>
-</para>
-
-<para>
-Per Debian, bisogna sostituire <i>nome_in_codice</i> con il
-<link id="distributions">nome in codice</link> della distribuzione, e
-aggiungere in coda al file <path>/etc/apt/sources.list</path> le righe seguenti:
-
-<programlisting>
-deb http://nginx.org/packages/mainline/debian/ <i>nome_in_codice</i> nginx
-deb-src http://nginx.org/packages/mainline/debian/ <i>nome_in_codice</i> nginx
-</programlisting>
-</para>
-
-<para>
-Per Ubuntu, bisogna sostituire <i>nome_in_codice</i> con il
-<link id="distributions">nome in codice</link> della distribuzione, e
-aggiungere in coda al file <path>/etc/apt/sources.list</path> le righe seguenti:
-
-<programlisting>
-deb http://nginx.org/packages/mainline/ubuntu/ <i>nome_in_codice</i> nginx
-deb-src http://nginx.org/packages/mainline/ubuntu/ <i>nome_in_codice</i> nginx
-</programlisting>
-</para>
-
-<para>
-Sia per Debian, sia per Ubuntu, lanciare infine i seguenti comandi:
-<programlisting>
-apt-get update
-apt-get install nginx
-</programlisting>
-</para>
-
-</section>
-
-
-<section name="Firme" id="signatures">
-
-<para>
-I pacchetti RPM e gli archivi Debian/Ubuntu usano firme digitali per
-verificare l'integrita' e l'origine dei pacchetti scaricati.
-Per verificare la firma bisogna scaricare la
-<link url="http://nginx.org/keys/nginx_signing.key">chiave di firma di nginx</link>
-e importarla nel keyring del programma <command>rpm</command> o <command>apt</command>:
-
-<list type="bullet">
-
-<listitem>
-In Debian/Ubuntu:
-<programlisting>sudo apt-key add nginx_signing.key</programlisting>
-</listitem>
-
-<listitem>
-In RHEL/CentOS:
-<programlisting>sudo rpm --import nginx_signing.key</programlisting>
-</listitem>
-
-</list>
-</para>
-
-<para>
-In Debian/Ubuntu le firme sono verificate per default,
-invece in RHEL/CentOS e' necessario porre
-<programlisting>gpgcheck=1</programlisting> nel file
-<path>/etc/yum.repos.d/nginx.repo</path>.
-</para>
-
-<para>
-Essendo tutti su un medesimo server, le nostre
-<link doc="../en/pgp_keys.xml">chiavi PGP</link> e i
-pacchetti sono egualmente affidabili; e' comunque caldamente
-consigliato verificare l'autenticita' delle chiavi PGP scaricate.
-PGP ha il concetto di "rete di fiducia", con cui si intende
-che una chiave e' firmata dalla chiave di qualcun altro,
-che a sua volta e' firmata da un'altra chiave, e cosi' via;
-grazie a cio' e' spesso possibile costruire una catena ininterrotta
-da una chiave arbitraria alla chiave di qualcun altro che e'
-conosciuto ed e' considerato affidabile, riuscendo quindi a stabilire
-l'affidabilita' della prima chiave della catena.
-Tale concetto e' descritto in dettaglio nel
-<link url="http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto-1.html">
-GPG Mini Howto</link>.
-Le nostre chiavi hanno firme sufficienti a rendere relativamente
-semplice la verifica dell'autenticita'.
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/it/support.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<!--
-  Copyright (C) Igor Sysoev
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../dtd/article.dtd">
-
-<article name="Supporto per nginx"
-         link="/it/support.html"
-         lang="it"
-         translator="Angelo Papadia"
-         rev="11">
-
-
-<section name="Mailing List">
-
-<para>
-Le mailing list possono essere
-<link url="http://nginx.org/mailman/listinfo">consultate</link>
-liberamente;
-per postare sulle mailing list e' prima necessario
-<link url="http://nginx.org/mailman/listinfo">iscrivere</link>
-l'indirizzo e-mail che sara' usato negli invii.
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-Mailing list in inglese
-<link url="http://nginx.org/mailman/listinfo/nginx">nginx@nginx.org</link>,
-<link url="http://nginx.org/pipermail/nginx/">
-archivio</link>,
-<link url="http://dir.gmane.org/gmane.comp.web.nginx.english">
-archivio Gmane</link>,
-<link url="http://marc.info/?l=nginx">
-archivio MARC</link>
-</listitem>
-
-<listitem>
-Mailing list in russo
-<link url="http://nginx.org/mailman/listinfo/nginx-ru">nginx-ru@nginx.org</link>,
-<link url="http://nginx.org/pipermail/nginx-ru/">
-archivio</link>,
-<link url="http://dir.gmane.org/gmane.comp.web.nginx.russian">
-archivio Gmane</link>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section name="Sviluppo">
-
-<para>
-<list type="bullet">
-
-<listitem id="nginx_devel">
-Mailing list per sviluppatori (in inglese)
-<link url="http://nginx.org/mailman/listinfo/nginx-devel">nginx-devel@nginx.org</link>,
-<link url="http://nginx.org/pipermail/nginx-devel/">
-archivio</link>
-</listitem>
-
-<listitem>
-<link url="http://trac.nginx.org/nginx/browser">
-Consulta il codice sorgente</link>
-</listitem>
-
-<listitem>
-<link url="http://trac.nginx.org/nginx/report">
-Segnala un bug</link>
-</listitem>
-
-<listitem>
-<link doc="docs/contributing_changes.xml">
-Come contribuire</link>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/ja/GNUmakefile
+++ /dev/null
@@ -1,10 +0,0 @@
-DOCS =									\
-		faq							\
-		http/request_processing					\
-		http/server_names					\
-		http/configuring_https_servers				\
-		debugging_log						\
-		http/converting_rewrite_rules				\
-
-FAQ =									\
-		sys_errlist						\
deleted file mode 100644
--- a/xml/ja/docs/debugging_log.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="デバッギングログ"
-         link="/ja/docs/debugging_log.html"
-         lang="ja">
-
-<section>
-
-<para>
-デバッギングログを有効にするには、nginx をデバッグオプションを付けて設定する必要があります:
-
-<programlisting>
-./configure --with-debug ...
-</programlisting>
-
-次に <literal>error_log</literal> の <literal>debug</literal> レベルをセットします:
-
-<programlisting>
-error_log  /path/to/log  debug;
-</programlisting>
-
-nginx の Windows バイナリバージョンでは常にデバッグログモードがサポートされてビルドされているので、<literal>debug</literal> レベルをセットするだけです。
-</para>
-
-<para>
-別のレベル、例えば <i>server</i> レベルでログを定義するとそのサーバでのデバッギングログが無効になりますので注意してください:
-<programlisting>
-error_log  /path/to/log  debug;
-
-http {
-    server {
-        error_log  /path/to/log;
-        ...
-</programlisting>
-このサーバログをコメントアウトするか <literal>debug</literal> フラグを追加してください:
-<programlisting>
-error_log  /path/to/log  debug;
-
-http {
-    server {
-        error_log  /path/to/log  debug;
-        ...
-</programlisting>
-</para>
-
-<para>
-また、特定のアドレスだけデバッギングログを有効にすることもできます:
-
-<programlisting>
-error_log  /path/to/log;
-
-events {
-    debug_connection   192.168.1.1;
-    debug_connection   192.168.10.0/24;
-}
-</programlisting>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/ja/docs/faq.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="FAQ"
-         link="/ja/docs/faq.html"
-         lang="ja">
-
-<section>
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="sys_errlist.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/ja/docs/http/configuring_https_servers.xml
+++ /dev/null
@@ -1,373 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="HTTPS サーバの設定"
-         link="/ja/docs/http/configuring_https_servers.html"
-         lang="ja"
-         author="Igor Sysoev"
-         translator="DigitalCube Co. Ltd., wokamoto">
-
-<section>
-
-<para>
-HTTPS サーバを設定するには server ブロックで SSL プロトコルを有効にして、サーバ証明書ファイルと秘密鍵ファイルの場所を指定する必要があります:
-
-<programlisting>
-server {
-    listen               443;
-    server_name          www.example.com;
-    ssl                  on;
-    ssl_certificate      www.example.com.crt;
-    ssl_certificate_key  www.example.com.key;
-    ssl_protocols        SSLv3 TLSv1;
-    ssl_ciphers          HIGH:!ADH:!MD5;
-    ...
-}
-</programlisting>
-
-サーバ証明書とはドメインの所有者情報や、送信情報の暗号化に必要な公開鍵を含む電子証明書です。そのサーバに接続するすべてのクライアントに送られます。秘密鍵はサーバ証明書に含まれる公開鍵で暗号化された情報を復号するために必要な鍵で、秘匿する必要が有ります。アクセスを制限したファイルに保存するようにしてください。ただし、nginx のマスタープロセスからは読めるようにする必要があります。もうひとつの方法として、秘密鍵は証明書と同じファイルに保存することもできます:
-
-<programlisting>
-    ssl_certificate      www.example.com.cert;
-    ssl_certificate_key  www.example.com.cert;
-</programlisting>
-
-この場合もファイルのアクセス権は制限するようにします。証明書と秘密鍵がひとつのファイルに保存されていても、証明書だけがクライアントに送られます。
-</para>
-
-<para>
-SSL プロトコルの強力なバージョンと暗号に接続を制限するには、ディレクティブ <literal>ssl_protocols</literal> と <literal>ssl_ciphers</literal> を使用します。バージョン 0.8.20 以降、nginx は <literal>ssl_protocols SSLv3 TLSv1</literal> と <literal>ssl_ciphers HIGH:!ADH:!MD5</literal> をデフォルトとして使用しているので、これより古い nginx のバージョンでのみ設定してください。
-</para>
-
-</section>
-
-
-<section id="optimization" name="HTTPS サーバの最適化">
-
-<para>
-SSL の工程は CPU リソースを余計に消費します。マルチプロセッサシステムでは(利用できる CPU コアの数よりも大きい数の)複数のワーカープロセスを走らせるといいでしょう。最も CPU に負荷がかかる工程は SSL ハンドシェイクです。クライアント毎のこの工程数を最小化するには2つの方法があります。最初の方法はキープアライブ接続を有効にして、ひとつの接続経由で複数のリクエストを送るようにする方法です。二つ目の方法は SSL セッションパラメータを再利用して、並行かつ順次接続のための SSL ハンドシェイクを避ける方法です。セッションはワーカー間で共有される SSL セッションキャッシュに保持され、<literal>ssl_session_cache</literal> ディレクティブで設定されています。1メガバイトのキャッシュには約4000のセッションが含まれます。キャッシュのデフォルトタイムアウトは5分です。この値は <literal>ssl_session_timeout</literal> ディレクティブを使用して増やすことができます。次の例は10Mの共有セッションキャッシュをもったクアッドコアシステムに最適化された設定例です:
-
-
-<programlisting>
-<b>worker_processes  4</b>;
-
-http {
-    <b>ssl_session_cache    shared:SSL:10m</b>;
-    <b>ssl_session_timeout  10m</b>;
-
-    server {
-        listen               443;
-        server_name          www.example.com;
-        <b>keepalive_timeout    70</b>;
-
-        ssl                  on;
-        ssl_certificate      www.example.com.crt;
-        ssl_certificate_key  www.example.com.key;
-        ssl_protocols        SSLv3 TLSv1;
-        ssl_ciphers          HIGH:!ADH:!MD5;
-        ...
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="chains" name="SSL 連鎖証明書">
-
-<para>
-ブラウザによっては有名な認証局によって署名された証明書にエラーをだすことがあります。その一方でその証明書を他のブラウザでは問題なく受け入れることもあります。これは発行している認証局が、有名で信用されている認証局の認証基盤には含まれない特定のブラウザで配布されている中間証明書を使ったサーバ証明書に署名しているからです。このケースでは、認証局は署名されたサーバ証明書に連結されているはずの連鎖証明書のバンドルを提供しています。サーバ証明書は、かならず結合されたファイル内の連鎖証明書に存在している必要があります:
-
-<programlisting>
-$ cat www.example.com.crt bundle.crt > www.example.com.chained.crt
-</programlisting>
-
-この結合されたファイルを <literal>ssl_certificate</literal> ディレクティブで使われるようにします:
-
-<programlisting>
-server {
-    listen               443;
-    server_name          www.example.com;
-    ssl                  on;
-    ssl_certificate      www.example.com.chained.crt;
-    ssl_certificate_key  www.example.com.key;
-    ...
-}
-</programlisting>
-
-サーバ証明書とバンドルされたものが間違った順序で連結されていた場合、nginx は起動に失敗して次のエラーメッセージを表示します:
-
-<programlisting>
-SSL_CTX_use_PrivateKey_file(" ... /www.example.com.key") failed
-   (SSL: error:0B080074:x509 certificate routines:
-    X509_check_private_key:key values mismatch)
-</programlisting>
-
-これは、nginx がサーバ証明書ではなくバンドルされた最初の証明書で秘密鍵を使おうとするからです。
-</para>
-
-<para>
-ブラウザは通常、信頼されている認証局によって署名されている受信した中間証明書を保存します。したがって、よく使われているブラウザは要求された中間証明書をすでに保持しているかもしれませんし、連鎖バンドルなしで送られた証明書にエラーを出すかもしれません。サーバに完全な連鎖証明書を送信させるには <literal>openssl</literal> コマンドラインユーティリティを使うといいでしょう。例えば:
-
-<programlisting>
-$ openssl s_client -connect www.godaddy.com:443
-...
-Certificate chain
- 0 s:/C=US/ST=Arizona/L=Scottsdale/1.3.6.1.4.1.311.60.2.1.3=US
-     /1.3.6.1.4.1.311.60.2.1.2=AZ/O=GoDaddy.com, Inc
-     /OU=MIS Department/<b>CN=www.GoDaddy.com</b>
-     /serialNumber=0796928-7/2.5.4.15=V1.0, Clause 5.(b)
-   i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc.
-     /OU=http://certificates.godaddy.com/repository
-     /CN=Go Daddy Secure Certification Authority
-     /serialNumber=07969287
- 1 s:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc.
-     /OU=http://certificates.godaddy.com/repository
-     /CN=Go Daddy Secure Certification Authority
-     /serialNumber=07969287
-   i:/C=US/O=The Go Daddy Group, Inc.
-     /OU=Go Daddy Class 2 Certification Authority
- 2 s:/C=US/O=The Go Daddy Group, Inc.
-     /OU=Go Daddy Class 2 Certification Authority
-   i:/L=ValiCert Validation Network/O=<b>ValiCert, Inc.</b>
-     /OU=ValiCert Class 2 Policy Validation Authority
-     /CN=http://www.valicert.com//emailAddress=info@valicert.com
-...
-</programlisting>
-
-この例では、<literal>www.GoDaddy.com</literal> サーバ証明書 #0 の対象 (&ldquo;<i>s</i>&rdquo;) はそれ自身が証明書 #1 の対象である発行者 (&ldquo;<i>i</i>&rdquo;) によって署名されています。そして、証明書 #1はそれ自身が証明書 #2 の対象である発行者によって署名され、証明書 #2 は有名な発行者である <i>ValiCert, Inc.</i> によって署名されていて、<i>ValiCert, Inc.</i> の証明書はブラウザに組み込まれている証明書ベースに保持されています(こうして連鎖します)。
-</para>
-
-<para>
-もし証明書バンドルを追加していなければ、サーバ証明書 #0 しか見れません。
-</para>
-
-</section>
-
-
-<section id="single_http_https_server" name="単一の HTTP/HTTPS サーバ">
-
-<para>
-最初の段階から HTTP と HTTPS プロトコル用にサーバを分けて設定するのは優れた実践です。現時点では両者の機能性としては等しいかもしれませんが、将来的に大きな変更があるかもしれず、統合されたサーバの使用が問題になるかもしれません。とはいえ、HTTP と HTTPS のサーバが等しく、将来のことを考えたくないのなら、ディレクティブ <literal>ssl on</literal> を削除して *:443 ポートに <literal>ssl</literal> パラメータを追加することによって HTTP と HTTPS リクエストの両者を扱う単一のサーバを設定することができます:
-
-<programlisting>
-server {
-    listen               80;
-    listen               443  ssl;
-    server_name          www.example.com;
-    ssl_certificate      www.example.com.crt;
-    ssl_certificate_key  www.example.com.key;
-    ...
-}
-</programlisting>
-
-<note>
-0.8.21 以前では、nginx は <literal>default</literal> パラメータで待ち受けているソケットに <literal>ssl</literal> パラメータをセットすることしかできませんでした:
-<programlisting>
-listen  443  default  ssl;
-</programlisting>
-</note>
-</para>
-
-</section>
-
-
-<section id="name_based_https_servers" name="名前ベースの HTTPS サーバ">
-
-<para>
-単一の IP アドレスを2つ以上の HTTPS サーバで待ち受けるように設定するとよく発生する問題があります:
-
-<programlisting>
-server {
-    listen           443;
-    server_name      www.example.com;
-    ssl              on;
-    ssl_certificate  www.example.com.crt;
-    ...
-}
-
-server {
-    listen           443;
-    server_name      www.example.org;
-    ssl              on;
-    ssl_certificate  www.example.org.crt;
-    ...
-}
-</programlisting>
-
-この設定では、ブラウザはリクエストされたサーバ名に関わらずデフォルトサーバ、すなわちここでは <literal>www.example.com</literal> の証明書を受信します。これは SSL プロトコルの作用によるものです。この SSL 接続はブラウザが HTTP リクエストを送る前に確立されるので、nginx にはリクエストされたサーバ名は分かりません。したがって、デフォルトサーバの証明書を送ることしかできません。
-</para>
-
-<para>
-この問題を解決するもっとも古くてもっとも堅実な方法は、各 HTTPS サーバに別個の IP アドレスを割り当てることです:
-
-<programlisting>
-server {
-    listen           192.168.1.1:443;
-    server_name      www.example.com;
-    ssl              on;
-    ssl_certificate  www.example.com.crt;
-    ...
-}
-
-server {
-    listen           192.168.1.2:443;
-    server_name      www.example.org;
-    ssl              on;
-    ssl_certificate  www.example.org.crt;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="certificate_with_several_names"
-        name="複数サーバ名をもつ SSL 証明書">
-
-<para>
-単一の IP アドレスを複数の HTTPS サーバ間で共有する方法は他にもありますが、どれも欠点があります。ひとつは、SubjectAltName フィールドに複数サーバ名(例えば、<literal>www.example.com</literal> と <literal>www.example.org</literal>)をもつ単一の証明書を使用する方法です。しかし、SubjectAltName の長さには制限があります。
-</para>
-
-<para>
-もうひとつの方法は、例えば <literal>*.example.org</literal> のようにワイルドカード名を持った証明書を使用する方法です。この証明書は <literal>www.example.org</literal> にマッチしますが <literal>example.org</literal> や <literal>www.sub.example.org</literal> にはマッチしません。以上の二つの方法は組み合わせることもできます。証明書には、例えば <literal>example.org</literal> と <literal>*.example.org</literal> のように SubjectAltName フィールドに完全一致名とワイルドカード名を含ませることができます。
-</para>
-
-<para>
-すべてのサーバでひとつのメモリーコピーを継承するためには、複数サーバ名を持つ証明書ファイルとその秘密鍵ファイルを設定の <i>http</i> レベルに置くとよいでしょう:
-
-<programlisting>
-ssl_certificate      common.crt;
-ssl_certificate_key  common.key;
-
-server {
-    listen           443;
-    server_name      www.example.com;
-    ssl              on;
-    ...
-}
-
-server {
-    listen           443;
-    server_name      www.example.org;
-    ssl              on;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="sni" name="サーバ名指示(Server Name Indication – SNI)">
-
-<para>
-単一の IP アドレス上で複数の HTTPS サーバを動かすときのさらに包括的な解決方法として <link url="http://en.wikipedia.org/wiki/Server_Name_Indication">TLSv1.1 Server Name Indication extension(サーバ名指示拡張)</link> (SNI, RFC3546) があります。これは、ブラウザが SSL ハンドシェイクの間にリクエストされたサーバ名を渡せるようにするもので、それによりサーバはその接続でどの証明書を使用するべきかが分かります。しかし、SNI は限られたブラウザしかサポートしていません。現時点では次のブラウザのバージョン以降のものがサポートされています:
-</para>
-
-<list type="bullet">
-
-<listitem>
-Opera 8.0
-</listitem>
-
-<listitem>
-MSIE 7.0 (Windows Vista 以降のみ)
-</listitem>
-
-<listitem>
-Firefox 2.0 および Mozilla Platform rv:1.8.1 を使用している他のブラウザ
-</listitem>
-
-<listitem>
-Safari 3.2.1 (Windows バージョンでは Vista 以降)
-</listitem>
-
-<listitem>
-Chrome (Windows バージョンでは Vista 以降)
-</listitem>
-
-</list>
-
-<para>
-nginx で SNI を使用するためには、nginx バイナリがビルドされたときの OpenSSL ライブラリとランタイムで動的にリンクされるライブラリの両方でサポートされていることが必要です。OpenSSL は設定オプション <nobr>&ldquo;--enable-tlsext&rdquo;.</nobr> でビルドされていれば、バージョン 0.9.8f 以降で SNI をサポートしています。OpenSSL 0.9.8j 以降ではこのオプションはデフォルトで有効になっています。nginx が SNI サポート付きでビルドされていれば、&ldquo;-V&rdquo; スイッチとともに起動すると nginx が次のように表示します:
-
-<programlisting>
-$ nginx -V
-...
-TLS SNI support enabled
-...
-</programlisting>
-
-しかし、SNI が有効になっている nginx が SNI サポート無しの OpenSSL ライブラリに動的にリンクされている場合、nginx は次の警告を表示します:
-
-<programlisting>
-nginx was built with SNI support, however, now it is linked
-dynamically to an OpenSSL library which has no tlsext support,
-therefore SNI is not available
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="compatibility" name="Compatibility">
-
-<para>
-<list type="bullet">
-
-<listitem>
-&ldquo;-V&rdquo; スイッチでの SNI サポートステータス表示は 0.8.21 以降と 0.7.62 でサポートされています。
-</listitem>
-
-<listitem>
-<literal>listen</literal> ディレクティブの <literal>ssl</literal> パラメータは 0.7.14 以降からサポートされています。
-</listitem>
-
-<listitem>
-SNI は 0.5.32 以降からサポートされています。
-</listitem>
-
-<listitem>
-共有 SSL セッションキャッシュは 0.5.6 以降からサポートされています。
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-バージョン 0.7.65 と 0.8.19 以降のデフォルトの SSL プロトコルは SSLv3 と TLSv1 です。
-</listitem>
-
-<listitem>
-バージョン 0.7.64 と 0.8.18 以前のデフォルトの SSL プロトコルは SSLv2、SSLv3、TLSv1 です。
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-バージョン 0.7.65 と 0.8.20 以降のデフォルトの SSL 暗号は <literal>HIGH:!ADH:!MD5</literal> です。
-</listitem>
-
-<listitem>
-バージョン  0.8.19 のデフォルトの SSL 暗号は <literal>ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM</literal> です。
-</listitem>
-
-<listitem>
-バージョン 0.7.64 と 0.8.18 以前のデフォルトの SSL 暗号は <literal>ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP</literal> です。
-</listitem>
-
-</list>
-</para>
-
-
-</section>
-
-
-</article>
deleted file mode 100644
--- a/xml/ja/docs/http/converting_rewrite_rules.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="rewrite ルールのコンバート"
-         link="/ja/docs/http/converting_rewrite_rules.html"
-         lang="ja">
-
-<section name="メインサイトへのリダイレクト">
-
-<para>
-共有のホスティングで Apache の .htaccess ファイル<i>のみ</i>で<i>すべて</i>を設定してきたのなら、次のようにルールをコンバートします:
-
-<programlisting>
-RewriteCond  %{HTTP_HOST}  example.org
-RewriteRule  (.*)          http://www.example.org$1
-</programlisting>
-
-上記は下記のようになります:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  www.example.org  example.org;
-    if ($http_host = example.org) {
-        rewrite  (.*)  http://www.example.org$1;
-    }
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-これは間違っていて面倒で非効率的な方法です。正しい方法は <literal>example.org</literal> 用に別のサーバを定義します:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org;
-    rewrite   ^  http://www.example.org$request_uri?;
-}
-
-server {
-    listen       80;
-    server_name  www.example.org;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section>
-
-<para>
-別の例として、<literal>example.com</literal> 以外と <literal>www.example.com</literal> 以外のすべて、という後方ロジックの代わりの例です:
-
-<programlisting>
-RewriteCond  %{HTTP_HOST}  !example.com
-RewriteCond  %{HTTP_HOST}  !www.example.com
-RewriteRule  (.*)          http://www.example.com$1
-</programlisting>
-
-この場合、単に <literal>example.com</literal>、<literal>www.example.com</literal>、そしてそれ以外を定義します:
-
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       80 default_server;
-    server_name  _;
-    rewrite   ^  http://example.org$request_uri?;
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="converting_mongrel_rules"
-        name="Mongrel ルールのコンバート">
-
-<para>
-典型的な Mongrel のルール:
-
-<programlisting>
-DocumentRoot /var/www/myapp.com/current/public
-
-RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
-RewriteCond %{SCRIPT_FILENAME} !maintenance.html
-RewriteRule ^.*$ %{DOCUMENT_ROOT}/system/maintenance.html [L]
-
-RewriteCond %{REQUEST_FILENAME} -f
-RewriteRule ^(.*)$ $1 [QSA,L]
-
-RewriteCond %{REQUEST_FILENAME}/index.html -f
-RewriteRule ^(.*)$ $1/index.html [QSA,L]
-
-RewriteCond %{REQUEST_FILENAME}.html -f
-RewriteRule ^(.*)$ $1/index.html [QSA,L]
-
-RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]
-</programlisting>
-
-上記は次のようにコンバートされます
-
-<programlisting>
-location / {
-    root       /var/www/myapp.com/current/public;
-
-    try_files  /system/maintenance.html
-               $uri  $uri/index.html $uri.html
-               @mongrel;
-}
-
-location @mongrel {
-    proxy_pass  http://mongrel;
-}
-</programlisting>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/ja/docs/http/request_processing.xml
+++ /dev/null
@@ -1,217 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="nginx はどのようにリクエストを処理するか"
-         link="/ja/docs/http/request_processing.html"
-         lang="ja"
-         author="Igor Sysoev"
-         translator="DigitalCube Co. Ltd., wokamoto">
-
-<section name="名前ベースの仮想サーバ">
-
-<para>
-nginx はまず最初にどの<i>サーバ</i>がそのリクエストを処理すべきなのかを決定します。手はじめに、3つすべての仮想サーバが port *:80 で待ち受けている単純な設定から見てみましょう:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  example.net  www.example.net;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  example.com  www.example.com;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-この設定では nginx は、(ブラウザからの)HTTP リクエストの &ldquo;Host&rdquo; ヘッダだけを考査して、そのリクエストをどのサーバに振り向けるべきかを決定します。もし &ldquo;Host&rdquo; ヘッダがどのサーバ名ともマッチしない場合、またはリクエストにこのフィールドがまったく含まれていない場合は、nginxはこのリクエストをデフォルトサーバに振り向けます。上記の設定ではデフォルトサーバは最初のもので、これは nginx の標準的なデフォルトの挙動です。設定内の最初のサーバをデフォルトサーバにしたくない場合は、<literal>listen</literal> ディレクティブに <literal>default_server</literal> パラメータを使って明示的に設定することができます:
-
-<programlisting>
-server {
-    listen       80  <b>default_server</b>;
-    server_name  example.net  www.example.net;
-    ...
-}
-</programlisting>
-
-<note>
-この <literal>default_server</literal> パラメータはバージョン 0.8.21 以上で利用できます。それ以前のバージョンでは代わりに <literal>default</literal> パラメータを使用してください。
-</note>
-
-このデフォルトサーバは <literal>listen</literal> ディレクティブのプロパティで、<literal>server_name</literal> ディレクティブのプロパティではないことに注意してください。詳細は後述します。
-</para>
-
-</section>
-
-
-<section id="how_to_prevent_undefined_server_names"
-        name="サーバ名未定義のリクエストの処理を防ぐ">
-
-<para>
-&ldquo;Host&rdquo; ヘッダが未定義のリクエストを処理させたくない場合は、リクエストを単にドロップさせるデフォルトサーバを設定できます:
-
-<programlisting>
-server {
-    listen       80  default_server;
-    server_name  _;
-    return       444;
-}
-</programlisting>
-
-ここでは存在しないドメイン名 “_” をサーバ名として選択し、接続を閉じる nginx の特別な標準外コード 444 を返します。このサーバ用にサーバ名を設定しなければならないことに注意してください。さもなければ nginx は<i>ホスト名</i>を使用します。
-</para>
-
-</section>
-
-
-<section id="mixed_name_ip_based_servers"
-        name="名前ベースとIPベースをミックスした仮想サーバ">
-
-<para>
-異なるアドレスで待ち受けている仮想サーバのより複雑な設定をみてみましょう:
-
-<programlisting>
-server {
-    listen       192.168.1.1:80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       192.168.1.1:80;
-    server_name  example.net  www.example.net;
-    ...
-}
-
-server {
-    listen       192.168.1.2:80;
-    server_name  example.com  www.example.com;
-    ...
-}
-</programlisting>
-
-この設定では、nginx はまず最初に <literal>server</literal> ブロックの <literal>listen</literal> ディレクティブに対してリクエストの IP アドレスとポートを考査します。次に、その IP アドレスとポートにマッチする <literal>server</literal> ブロックの <literal>server_name</literal> ディレクティブに対して、その HTTP リクエストの &ldquo;Host&rdquo; ヘッダを考査します。
-
-もしサーバ名が見つからなければ、そのリクエストはデフォルトサーバによって処理されます。例えば、192.168.1.1:80 ポートで受信された <literal>www.example.com</literal> へのリクエストは 192.168.1.1:80 ポートのデフォルトサーバ、つまり最初のサーバで処理されます。これはこのポートでは <literal>www.example.com</literal> は定義されていないからです。
-</para>
-
-<para>
-すでに述べたように、デフォルトサーバは <literal>listen</literal> ディレクティブのプロパティで、別の <literal>listen</literal> ディレクティブには別のデフォルトサーバが定義されています:
-
-<programlisting>
-server {
-    listen        192.168.1.1:80;
-    server_name   example.org  www.example.org;
-    ...
-}
-
-server {
-    listen        192.168.1.1:80  default_server;
-    server_name   example.net  www.example.net;
-    ...
-}
-
-server {
-    listen        192.168.1.2:80  default_server;
-    server_name   example.com  www.example.com;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="simple_php_site_configuration"
-        name="単純な PHP サイトの設定">
-
-<para>
-では、典型的で単純な PHP サイトで nginx がどのように<i>ロケーション(location)</i>を選択してリクエストを処理するのかを見てみましょう:
-
-<programlisting>
-server {
-    listen        80;
-    server_name   example.org  www.example.org;
-    root          /data/www;
-
-    location / {
-        index     index.html  index.php;
-    }
-
-    location ~* \.(gif|jpg|png)$ {
-        expires   30d;
-    }
-
-    location ~ \.php$ {
-        fastcgi_pass   localhost:9000;
-        fastcgi_param  SCRIPT_FILENAME
-                       $document_root$fastcgi_script_name;
-        include        fastcgi_params;
-    }
-}
-</programlisting>
-</para>
-
-<para>
-nginx はまず最初に、リストの順序には関係なくリテラルな文字列によって指定されているもっとも限定されたロケーションを検索します。上記の設定では唯一のリテラルなロケーションは <path>/</path> であり、したがってどのリクエストでもマッチして最終的にこのロケーションが使われます。次に nginx は、設定ファイルにリストされている順番で正規表現によって指定されているロケーションをチェックします。最初にマッチした正規表現で検索はストップし、 nginx そのロケーションを使用します。もしどの正規表現もリクエストにマッチしない場合は、nginx はその前に見つかったもっとも限定されたリテラルなロケーションを使用します。
-</para>
-
-<para>
-すべてのタイプのロケーションはクエリー部分を除いたリクエスト URI 部分のみを考査することに注意してください。これはクエリー文字列の引数がいろいろな方法で渡されることがあるためです。例えば:
-
-<programlisting>
-/index.php?user=john&amp;page=1
-/index.php?page=1&amp;user=john
-</programlisting>
-
-さらに、クエリー文字列ではどのようなリクエストでも可能だからです:
-
-<programlisting>
-/index.php?page=1&amp;something+else&amp;user=john
-</programlisting>
-</para>
-
-<para>
-では、上記の設定ではどのようにリクエストが処理されるのかを見てみましょう:
-
-<list type="bullet">
-
-<listitem>
-<para>
-リクエスト <path>/logo.gif</path> はリテラルなロケーション <literal>/</literal> に最初にマッチし、次に正規表現 <literal>\.(gif|jpg|png)$</literal> にマッチするので、後者のロケーションによって処理されます。 このリクエストは <literal>root&nbsp;/data/www</literal> ディレクティブを使用してファイル <path>/data/www/logo.gif</path> にマップされ、このファイルがクライアントに送られます。
-</para>
-</listitem>
-
-<listitem>
-<para>
-リクエスト <path>/index.php</path> もまたリテラルなロケーション <literal>/</literal> に最初にマッチし、次に正規表現 <literal>\.(php)$</literal> にマッチします。したがって、このリクエストは後者のロケーションによって処理され、localhost:9000 で待ち受けている FastCGI サーバに渡されます。<literal>fastcgi_param</literal> ディレクティブは FastCGI のパラメータ SCRIPT_FILENAME を <path>/data/www/index.php</path> にセットし、この FastCGI サーバがこのファイルを実行します。変数 $document_root は <literal>root</literal> ディレクティブの値と同等で、変数 $fastcgi_script_name はリクエスト URI、例えば <path>/index.php</path> と同等です。
-</para>
-</listitem>
-
-<listitem>
-<para>
-リクエスト <path>/about.html</path> はリテラルなロケーション <literal>/</literal> のみにマッチします。したがってこのロケーションで処理されます。このリクエストは <literal>root</literal> ディレクティブのパラメータ <literal>/data/www</literal> を使い、ファイル <path>/data/www/about.html</path> にマップされ、クライアントに送られます。
-</para>
-</listitem>
-
-<listitem>
-<para>
-リクエスト <path>/</path> の処理はより複雑です。これはリテラルなロケーション <literal>/</literal> のみにマッチし、このロケーションで処理されます。ついで <literal>index</literal> ディレクティブがパラメータと <literal>root</literal> ディレクティブのパラメータ <literal>/data/www</literal> にしたがって index ファイルが存在するかどうかを考査します。もし <path>/data/www/index.php</path> ファイル存在すればこのディレクティブは <path>/index.php</path> への内部リダイレクトを実行し、nginx はまるでこのリクエストがクライアントに送られたかのようにこのロケーションを再び検索します。先に見たように、リダイレクトされたリクエストは最終的に FastCGI サーバで処理されます。
-</para>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/ja/docs/http/server_names.xml
+++ /dev/null
@@ -1,350 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="サーバ名"
-         link="/ja/docs/http/server_names.html"
-         lang="ja"
-         author="Igor Sysoev"
-         translator="DigitalCube Co. Ltd., wokamoto">
-
-<section>
-
-<para>
-サーバ名は <literal>server_name</literal> ディレクティブを使用して定義され、リクエストに対してどのサーバブロックが使われるかを決定します。「<link doc="request_processing.xml" />」もお読みください。これらは完全一致名、ワイルドカード名、正規表現で定義されます:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  *.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  mail.*;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  ~^(?&lt;user&gt;.+)\.example\.net$;
-    ...
-}
-</programlisting>
-
-サーバ名は次の順序で考査されます:
-
-<list type="enum">
-
-<listitem>
-完全一致名
-</listitem>
-
-<listitem>
-アスタリスクで始まるワイルドカード名: <literal>*.example.org</literal>
-</listitem>
-
-<listitem>
-アスタリスクで終わるワイルドカード名: <literal>mail.*</literal>
-</listitem>
-
-<listitem>
-設定ファイル内の順序での正規表現
-</listitem>
-
-</list>
-最初にマッチしたところで検索は終了します。.
-</para>
-
-</section>
-
-
-<section id="wildcard_names"
-        name="ワイルドカード名">
-
-<para>
-ワイルドカード名にはそのサーバ名の最初か最後のみ、そしてドットに隣接したところのみにアスタリスクが含まれます。サーバ名 <literal>www.*.example.org</literal> や <literal>w*.example.org</literal> は無効です。しかし、これらのサーバ名は正規表現を使用して、例えば  <literal>~^www\..+\.example\.org$</literal> や <literal>~^w.*\.example\.org$</literal> として指定することができます。アスタリスクは複数部分にマッチさせることができます。<literal>*.example.org</literal> は <literal>www.example.org</literal> だけでなく <literal>www.sub.example.org</literal> にもマッチします。
-</para>
-
-<para>
-特別なワイルドカードの形式 <literal>.example.org</literal> は、完全一致名 <literal>example.org</literal> とワイルドカード名 <literal>*.example.org</literal> の両方にマッチさせるように利用できます。
-</para>
-
-</section>
-
-
-<section id="regex_names"
-        name="正規表現名">
-
-<para>
-nginx で使用される正規表現は Perl プログラミング言語(PCRE)で使用されているものと互換性があります。正規表現を使用するには、サーバ名を必ずチルダで始めます:
-
-<programlisting>
-server_name  ~^www\d+\.example\.net$;
-</programlisting>
-
-チルダで始まっていないと完全一致名として、またはその正規表現にアスタリスクが含まれている場合はワイルドカード名として(そしてたいていの場合は無効なものとして)扱われてしまいます。&ldquo;^&rdquo; と &ldquo;$&rdquo; アンカーをセットし忘れないようにしてください。これらは構文的には必須ではありませんが論理的に必須です。また、ドメイン名のドットはバックスラッシュで必ずエスケープしてください。&ldquo;{&rdquo; と &ldquo;}&rdquo; 文字を含む正規表現は必ずダブルクォーテーションで囲ってください:
-
-<programlisting>
-server_name  "~^(?&lt;name&gt;\w\d<b>{</b>1,3<b>}</b>+)\.example\.net$";
-</programlisting>
-
-さもないと、nginx は起動に失敗し次のエラーメッセージを表示します:
-
-<programlisting>
-directive "server_name" is not terminated by ";" in ...
-</programlisting>
-
-正規表現の名前付きキャプチャは変数としてその後で使用されます:
-
-<programlisting>
-server {
-    server_name   ~^(www\.)?(<b>?&lt;domain&gt;</b>.+)$;
-
-    location / {
-        root   /sites/<b>$domain</b>;
-    }
-}
-</programlisting>
-
-PCRE ライブラリは次の構文を使用した名前付きキャプチャをサポートしています:
-
-<table note="yes">
-
-<tr>
-<td><literal>?&lt;<value>name</value>&gt;</literal></td>
-<td>Perl 5.10 互換構文、PCRE-7.0 よりサポート</td>
-</tr>
-
-<tr>
-<td><literal>?'<value>name</value>'</literal></td>
-<td>Perl 5.10 互換構文、PCRE-7.0 よりサポート</td>
-</tr>
-
-<tr>
-<td><literal>?P&lt;<value>name</value>&gt;</literal></td>
-<td>Python 互換構文、PCRE-4.0よりサポート</td>
-</tr>
-
-</table>
-
-nginx が起動に失敗すると次のエラーメッセージを表示します:
-
-<programlisting>
-pcre_compile() failed: unrecognized character after (?&lt; in ...
-</programlisting>
-
-これは PCRE ライブラリが古いので <literal>?P&lt;<value>name</value>&gt;</literal> 構文を試すように、という意味です。このキャプチャは数字形式でも使用できます:
-
-<programlisting>
-server {
-    server_name   ~^(www\.)?(.+)$;
-
-    location / {
-        root   /sites/<b>$2</b>;
-    }
-}
-</programlisting>
-
-とはいえ、数字形式は簡単に上書きすることができるため、このような使用法は(上記のような)単純なケースに限るべきです。
-</para>
-
-
-</section>
-
-
-<section id="miscellaneous_names"
-        name="その他のサーバ名">
-
-<para>
-デフォルトではないサーバブロックで &ldquo;Host&rdquo; ヘッダ無しのリクエストを処理させたい場合は、空のサーバ名を指定します:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org  "";
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-<literal>server_name</literal> がサーバブロックで定義されていない場合は、nginx は<i>サーバ名</i>として空の名前を使用します。
-
-</para>
-
-<note>
-nginx のバージョン 0.8.48 までは、このような場合はサーバ名としてホスト名を使用していました。
-</note>
-
-<para>
-サーバ名ではなく IP アドレスを使用したリクエストが送られてきた場合、そのリクエストの &ldquo;Host&rdquo; ヘッダには IP アドレスが含まれているので、その IP アドレスをサーバ名として利用してそのリクエストを処理できます:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org
-                 www.example.org
-                 ""
-                 <b>192.168.1.1</b>
-                 ;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-すべてのサーバに適合させる例では奇妙なサーバ名 &ldquo;_&rdquo; が使われます:
-
-<programlisting>
-server {
-    listen       80  default_server;
-    server_name  _;
-    return       444;
-}
-</programlisting>
-
-このサーバ名に特別なところはありません。単にどのサーバ名とも決してマッチしない無数の無効なドメイン名のひとつです。したがって、 &ldquo;--&rdquo;、&ldquo;!@#&rdquo; なども同様な結果を得られます。
-</para>
-
-<para>
-nginx バージョン 0.6.25 までは特別なサーバ名 &ldquo;*&rdquo; をサポートしていて、これは誤ってすべてのサーバ名と一致するもの(キャッチオール名)として解釈されていました。この特別なサーバ名 &ldquo;*&rdquo;はキャッチオールまたはワイルドカードとして機能したことはありませんでした。代わりに、今は <literal>server_name_in_redirect</literal> ディレクティブによって提供されている機能の役を果たしていました。特別なサーバ名 &ldquo;*&rdquo; は今後廃止予定ですので、<literal>server_name_in_redirect</literal> ディレクティブを使うようにしてください。キャッチオール名を指定したり <literal>server_name</literal> ディレクティブを使用した<i>デフォルト</i>サーバを指定したりする方法はないことに注意してください。これは <literal>listen</literal> ディレクティブのプロパティであり、<literal>server_name</literal> ディレクティブのプロパティではありません。&ldquo;<link doc="request_processing.xml" />&rdquo; も参照してください。
-ポート *:80 と *:8080 で待ち受けているサーバを定義し、ひとつをポート *:8080 のデフォルトサーバへ、もうひとつをポート *:80 のデフォルトサーバへ振り向けることができます。
-
-<programlisting>
-server {
-    listen       80;
-    listen       8080  default_server;
-    server_name  example.net;
-    ...
-}
-
-server {
-    listen       80  default_server;
-    listen       8080;
-    server_name  example.org;
-    ...
-}
-</programlisting>
-</para>
-
-
-</section>
-
-
-<section id="optimization"
-        name="最適化">
-
-<para>
-完全一致名とワイルドカード名はハッシュで保存されます。このハッシュは待ち受けポートに結び付けられ、各待ち受けポートは、完全一致名のハッシュ、アスタリスクで始まるワイルドカード名のハッシュ、アスタリスクで終わるワイルドカード名のハッシュの3つまでのハッシュを持つことができます。ハッシュのサイズは構成フェーズで最適化されるので、CPU キャッシュのミスは最低でもサーバ名を見つけることができます。最初に完全一致名のハッシュが検索されます。完全一致名のハッシュを使って見つからなければ、次にアスタリスクで始まるワイルドカード名のハッシュが検索されます。さらにまだ見つからなければ、アスタリスクで終わるワイルドカード名のハッシュが検索されます。ワイルドカード名のハッシュの検索は完全一致名のハッシュの検索よりも遅くなります。これはサーバ名の検索がドメイン部分によって検索されるからです。特別なワイルドカード形式の <literal>.example.org</literal> は完全一致名のハッシュではなくワイルドカード名のハッシュで保存されます。正規表現は順番に考査されるので、これがもっとも遅い方式ですし、非スケーラブルでもあります。
-</para>
-
-<para>
-これらの理由から、可能な場合は完全一致名を利用するのがよいでしょう。例えば、もっとも頻繁にリクエストされるサーバ名が <literal>example.org</literal> と <literal>www.example.org</literal> だとすると、これらを明示的に定義するとより効率的です:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org  *.example.org;
-    ...
-}
-</programlisting>
-
-上記は次の単純化された形式を使用するよりも効率的です:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  .example.org;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-たくさんの数のサーバ名を定義したり非常に長いサーバ名を定義したりする場合は、http レベルの <literal>server_names_hash_max_size</literal> と <literal>server_names_hash_bucket_size</literal> ディレクティブを調整する必要があるかもしれません。<literal>server_names_hash_bucket_size</literal> のデフォルト値は 32、もしくは 64、あるいはお使いの CPU キャッシュラインのサイズによってはその他の値になっているかもしれません。もしデフォルト値が 32 でサーバ名として &ldquo;too.long.server.name.example.org&rdquo; のような非常に長いサーバ名を定義している場合、nginx は起動に失敗し、次のエラーメッセージを表示させます:
-
-<programlisting>
-could not build the server_names_hash,
-you should increase server_names_hash_bucket_size: 32
-</programlisting>
-
-この場合、このディレクティブの値を次の 2 の累乗にセットします:
-
-<programlisting>
-http {
-    server_names_hash_bucket_size  64;
-    ...
-</programlisting>
-
-非常にたくさんの数のサーバ名を定義した場合は次のエラーメッセージが表示されます:
-
-<programlisting>
-could not build the server_names_hash,
-you should increase either server_names_hash_max_size: 512
-or server_names_hash_bucket_size: 32
-</programlisting>
-
-まず最初に <literal>server_names_hash_max_size</literal> の値を、定義するサーバ名の数に近い数に設定して試します。この設定がうまくいかない時だけ、もしくは nginx の起動時間が許容できないほど長い場合だけ <literal>server_names_hash_bucket_size</literal> の値を増やしてみます。
-</para>
-
-<para>
-待ち受けているポートがひとつだけでサーバもひとつだけの場合、nginx はサーバ名を考査しません(また、待ち受けポート用のハッシュも生成しません)。しかし一つ例外があります。<literal>server_name</literal> がキャプチャを伴った正規表現の場合、nginx はキャプチャを取得するためにこの正規表現を実行します。
-</para>
-
-</section>
-
-
-<section id="compatibility"
-        name="互換性">
-
-<para>
-<list type="bullet">
-
-<listitem>
-0.8.48 以降、デフォルトのサーバ名の値は空の名前 &ldquo;&rdquo; です。
-</listitem>
-
-<listitem>
-正規表現サーバ名の名前付きキャプチャのサポートは 0.8.25 からです。
-</listitem>
-
-<listitem>
-正規表現サーバ名のキャプチャのサポートは 0.7.40 からです。
-</listitem>
-
-<listitem>
-空のサーバ名 &ldquo;&rdquo; のサポートは 0.7.12 からです。
-</listitem>
-
-<listitem>
-ワイルドカードサーバ名と正規表現の最初のサーバ名としての使用は0.6.25 からサポートされています。
-</listitem>
-
-<listitem>
-正規表現サーバ名のサポートは 0.6.7 からです。
-</listitem>
-
-<listitem>
-ワイルドカードの形式 <literal>example.*</literal> のサポートは 0.6.0 からです。
-</listitem>
-
-<listitem>
-特別な形式 <literal>.example.org</literal> のサポートは 0.3.18 からです。
-</listitem>
-
-<listitem>
-ワイルドカードの形式 <literal>*.example.org</literal> のサポートは 0.1.13 からです。
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/ja/docs/index.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="nginx ドキュメント"
-         link="/ja/docs/"
-         lang="ja"
-         toc="no">
-
-
-<section id="introduction" name="入門">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="http/request_processing.xml"/>
-</listitem>
-
-<listitem>
-<link doc="http/server_names.xml"/>
-</listitem>
-
-<listitem>
-<link doc="http/configuring_https_servers.xml"/>
-</listitem>
-
-<listitem>
-<link doc="debugging_log.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="howto" name="ハウツー">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="http/converting_rewrite_rules.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/ja/docs/sys_errlist.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="メッセージ &ldquo;&nbsp;&lsquo;sys_errlist&rsquo;
-                is deprecated;
-                use &lsquo;strerror&rsquo; or &lsquo;strerror_r&rsquo;
-                instead&nbsp;&rdquo;"
-         link="/ja/docs/sys_errlist.html"
-         lang="ja">
-
-<section>
-
-<para>
-nginx のバージョン 0.7.66、0.8.35、もしくはそれ以上を Linux でビルド中、次の警告メッセージが出ます:
-
-<programlisting>
-warning: `sys_errlist' is deprecated;
-    use `strerror' or `strerror_r' instead
-warning: `sys_nerr' is deprecated;
-    use `strerror' or `strerror_r' instead
-</programlisting>
-
-これは正常です。strerror() と strerror_r() 関数が非同期シグナルセーフではないので、nginx はシングルハンドラの中で非推奨の sys_errlist[] と sys_nerr を使う必要があります。
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/ja/index.xml
+++ /dev/null
@@ -1,243 +0,0 @@
-<!DOCTYPE article SYSTEM "../../dtd/article.dtd">
-
-<article name="nginx"
-         link="/ja/"
-         lang="ja">
-
-
-<section>
-
-<para>
-nginx [えんじんえっくす] は <link url="http://sysoev.ru/en/">Igor Sysoev</link> によって作られた HTTP とリバースプロキシのサーバで、メールプロキシサーバでもあります。<link url="http://www.rambler.ru">Rambler</link>
-(<link url="http://ramblermedia.com">RamblerMedia.com</link>) を含むロシアの多くの高負荷サイトで5年以上も動いています。Netcraft によると、nginx は <link url="http://news.netcraft.com/archives/2010/04/15/april_2010_web_server_survey.html">2010 年 4 月時点で 4.70%</link> の人気サイトでサーバーとして、もしくはプロキシとして利用されています。成功例としては <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>
-ソースコードは <link url="/LICENSE">BSD 風の 2 箇条ライセンス</link>でライセンスされています。
-</para>
-
-</section>
-
-
-<section id="basic_http_features"
-        name="基本的な HTTP 機能">
-
-<para>
-<list type="bullet">
-
-<listitem>
-スタティックなインデックスファイルの提供、自動インデクシング、オープンなファイルディスクリプタキャッシュ
-</listitem>
-
-<listitem>
-キャッシングで高速化されたリバースプロキシ、シンプルなロードバランシングとフォールトトレランス
-</listitem>
-
-<listitem>
-リモートの FastCGI サーバのキャッシングによる高速化サポート、シンプルなロードバランシングとフォールトトレランス
-</listitem>
-
-<listitem>
-モジュールアーキテクチャ。フィルタには gzip、バイトレンジ、チャンク化されたレスポンス、XSLT、SSI、画像リサイズフィルタが含まれます。FastCGI もしくはプロキシ化されたサーバなら、単一ページ内への複数 SSI 封入が並列で処理可能。
-</listitem>
-
-<listitem>
-SSL と TLS SNI サポート。
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="other_http_features"
-        name="他の HTTP 機能">
-
-<para>
-<list type="bullet">
-
-<listitem>
-名前ベースと IP ベースの仮想サーバ
-</listitem>
-
-<listitem>
-キープアライブとパイプライン接続のサポート
-</listitem>
-
-<listitem>
-柔軟な設定
-</listitem>
-
-<listitem>
-クライアント処理を中断させること無く再構成、オンラインアップグレード
-</listitem>
-
-<listitem>
-アクセスログフォーマット、バッファされたログ書き込み、素早いログローテーション
-</listitem>
-
-<listitem>
-3xx-5xx エラーコードのリダイレクト
-</listitem>
-
-<listitem>
-rewrite モジュール
-</listitem>
-
-<listitem>
-クライアントの IP アドレスをベースにしたアクセスコントロールと HTTP ベーシック認証
-</listitem>
-
-<listitem>
-PUT、DELETE、MKCOL、COPY、MOVE メソッド
-</listitem>
-
-<listitem>
-FLV ストリーミング
-</listitem>
-
-<listitem>
-速度制限
-</listitem>
-
-<listitem>
-同一アドレスからの同時接続もしくは同時リクエストの制限
-</listitem>
-
-<listitem>
-埋め込み perl
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="mail_proxy_server_features"
-        name="メールプロキシサーバ機能">
-
-<para>
-<list type="bullet">
-
-<listitem>
-外部の HTTP 認証サーバを利用した IMAP/POP3 バックエンドへのユーザリダイレクト
-</listitem>
-
-<listitem>
-外部の HTTP 認証サーバと内部 SMTP バックエンドへの接続リダイレクトを利用したユーザ認証
-</listitem>
-
-<listitem>
-認証メソッド:
-
-<list type="bullet">
-
-<listitem>
-POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
-</listitem>
-
-<listitem>
-IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
-</listitem>
-
-<listitem>
-SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
-</listitem>
-
-</list>
-</listitem>
-
-<listitem>
-SSL サポート
-</listitem>
-
-<listitem>
-STARTTLS と STLS のサポート
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="architecture_and_scalability"
-        name="アーキテクチャとスケーラビリティ">
-
-<para>
-<list type="bullet">
-
-<listitem>
-一つのマスタープロセスと複数のワーカープロセス。ワーカーは非特権ユーザとして動く
-</listitem>
-
-<listitem>
-通知メソッド: kqueue (FreeBSD 4.1+)、epoll (Linux 2.6+)、rt シグナルs (Linux 2.2.19+)、/dev/poll (Solaris 7 11/99+)、イベントポート (Solaris 10)、select、poll
-</listitem>
-
-<listitem>
-EV_CLEAR, EV_DISABLE (イベントを一時的に無効にする)、 NOTE_LOWAT, EV_EOF、利用可能なデータの数、エラーコードを含む様々な kqueue 機能のサポート
-</listitem>
-
-<listitem>
-sendfile (FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5)、sendfile64 (Linux 2.4.21+)、sendfilev (Solaris 8 7/01+) のサポート
-</listitem>
-
-<listitem>
-ファイル AIO (FreeBSD 4.3+, Linux 2.6.22+)
-</listitem>
-
-<listitem>
-Accept-filters (FreeBSD 4.1+) と TCP_DEFER_ACCEPT (Linux 2.4+) のサポート
-</listitem>
-
-<listitem>
-1 万の非アクティブな HTTP キープアライブ接続は約 2.5M のメモリーを使用
-</listitem>
-
-<listitem>
-データコピーの実施は最小に保たれる
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="tested_os_and_platforms"
-        name="テスト済み OS とプラットフォーム">
-
-<para>
-<list type="bullet">
-
-<listitem>
-FreeBSD 3&mdash;8 / i386; FreeBSD 5&mdash;8 / amd64;
-</listitem>
-
-<listitem>
-Linux 2.2&mdash;2.6 / i386; Linux 2.6 / amd64;
-</listitem>
-
-<listitem>
-Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
-</listitem>
-
-<listitem>
-MacOS X / ppc, i386;
-</listitem>
-
-<listitem>
-Windows XP, Windows Server 2003.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-</article>
--- a/xml/menu.xml
+++ b/xml/menu.xml
@@ -7,57 +7,12 @@
 
 <menus>
 
-<menu lang="cn">
-
-<item href="/en/" switchlang="en"> english </item>
-<item href="/ru/" switchlang="ru"> русский </item>
-<item />
-
-<!--
-<item> 简体中文 </item>
-<item href="/he/" switchlang="he"> עברית </item>
-<item href="/ja/" switchlang="ja"> 日本語 </item>
-<item href="/tr/" switchlang="tr"> türkçe </item>
-<item href="/it/" switchlang="it"> italiano </item>
-<item />
--->
-
-<item href="/" lang="en"> 新闻 </item>
-<item href="/cn/"> nginx 介绍 </item>
-<item href="/en/download.html" lang="en"> 下载 </item>
-<item href="/en/security_advisories.html" lang="en"> 安全漏洞 </item>
-<item href="/cn/docs/"> 文档 </item>
-<item href="/cn/docs/faq.html"> FAQ </item>
-<item href="/en/books.html" lang="en"> 书籍 </item>
-<item href="/en/support.html" lang="en"> 支持 </item>
-<item />
-
-<item href="http://trac.nginx.org/nginx"> trac </item>
-<item href="http://twitter.com/nginxorg"> twitter </item>
-<item href="http://nginx.com/blog/"> blog </item>
-<item />
-
-<item href="https://unit.nginx.org/"> unit </item>
-<item href="/en/docs/njs/"> njs </item>
-
-</menu>
-
-
 <menu lang="en">
 
 <item> english </item>
 <item href="/ru/" switchlang="ru"> русский </item>
 <item />
 
-<!--
-<item href="/cn/" switchlang="cn"> 简体中文 </item>
-<item href="/he/" switchlang="he"> עברית </item>
-<item href="/ja/" switchlang="ja"> 日本語 </item>
-<item href="/tr/" switchlang="tr"> türkçe </item>
-<item href="/it/" switchlang="it"> italiano </item>
-<item />
--->
-
 <item href="/"> news </item>
 <item href="2023.html" year="2023" />
 <item href="2022.html" year="2022" />
@@ -96,92 +51,12 @@
 </menu>
 
 
-<menu lang="he">
-
-<item href="/en/" switchlang="en"> english </item>
-<item href="/ru/" switchlang="ru"> русский </item>
-<item />
-
-<!--
-<item href="/cn/" switchlang="cn"> 简体中文 </item>
-<item> עברית </item>
-<item href="/ja/" switchlang="ja"> 日本語 </item>
-<item href="/tr/" switchlang="tr"> türkçe </item>
-<item href="/it/" switchlang="it"> italiano </item>
-<item />
--->
-
-<item href="/" lang="אנגלית"> חדשות </item>
-<item href="/he/"> אודות </item>
-<item href="/en/download.html" lang="אנגלית"> הורדה </item>
-<item href="/en/security_advisories.html" lang="אנגלית"> דיווחי אבטחה </item>
-<item href="/he/docs/"> תיעוד </item>
-<item href="/en/docs/faq.html" lang="אנגלית"> שאלות נפוצות </item>
-<item href="/en/support.html" lang="אנגלית"> תמיכה </item>
-<item />
-
-<item href="http://trac.nginx.org/nginx"> trac </item>
-<item href="http://twitter.com/nginxorg"> twitter </item>
-<item href="http://nginx.com/blog/"> blog </item>
-<item />
-
-<item href="https://unit.nginx.org/"> unit </item>
-<item href="/en/docs/njs/"> njs </item>
-
-</menu>
-
-
-<menu lang="ja">
-
-<item href="/en/" switchlang="en"> english </item>
-<item href="/ru/" switchlang="ru"> русский </item>
-<item />
-
-<!--
-<item href="/cn/" switchlang="cn"> 简体中文 </item>
-<item href="/he/" switchlang="he"> עברית </item>
-<item> 日本語 </item>
-<item href="/tr/" switchlang="tr"> türkçe </item>
-<item href="/it/" switchlang="it"> italiano </item>
-<item />
--->
-
-<item href="/" lang="en"> ニュース </item>
-<item href="/ja/"> nginx について </item>
-<item href="/en/download.html" lang="en"> ダウンロード </item>
-<item href="/en/security_advisories.html" lang="en"> セキュリティ情報 </item>
-<item href="/ja/docs/"> ドキュメント </item>
-<item href="/ja/docs/faq.html"> faq </item>
-<item href="/en/books.html" lang="en"> 本 </item>
-<item href="/en/support.html" lang="en"> サポート </item>
-<item />
-
-<item href="http://trac.nginx.org/nginx"> trac </item>
-<item href="http://twitter.com/nginxorg"> twitter </item>
-<item href="http://nginx.com/blog/"> blog </item>
-<item />
-
-<item href="https://unit.nginx.org/"> unit </item>
-<item href="/en/docs/njs/"> njs </item>
-
-</menu>
-
-
 <menu lang="ru">
 
 <item href="/en/" switchlang="en"> english </item>
 <item> русский </item>
 <item />
 
-<!--
-<item href="/cn/" switchlang="cn"> 简体中文 </item>
-<item href="/he/" switchlang="he"> עברית </item>
-<item href="/ja/" switchlang="ja"> 日本語 </item>
-<item href="/tr/" switchlang="tr"> türkçe </item>
-<item href="/it/" switchlang="it"> italiano </item>
-<item />
--->
-
 <item href="/" lang="en"> новости </item>
 <item href="/ru/"> об nginx </item>
 <item href="/ru/download.html"> скачать </item>
@@ -202,77 +77,4 @@
 
 </menu>
 
-
-<menu lang="tr">
-
-<item href="/en/" switchlang="en"> english </item>
-<item href="/ru/" switchlang="ru"> русский </item>
-<item />
-
-<!--
-<item href="/cn/" switchlang="cn"> 简体中文 </item>
-<item href="/he/" switchlang="he"> עברית </item>
-<item href="/ja/" switchlang="ja"> 日本語 </item>
-<item> türkçe </item>
-<item href="/it/" switchlang="it"> italiano </item>
-<item />
--->
-
-<item href="/" lang="ing"> haberler </item>
-<item href="/tr/"> hakkında </item>
-<item href="/en/download.html" lang="ing"> indir </item>
-<item href="/en/security_advisories.html" lang="ing">
-      güvenlik tavsiyeleri </item>
-<item href="/tr/docs/"> dökümantasyon </item>
-<item href="/tr/docs/faq.html"> sss </item>
-<item href="/en/books.html" lang="ing"> kitaplar </item>
-<item href="/en/support.html" lang="ing"> destek </item>
-<item />
-
-<item href="http://trac.nginx.org/nginx"> trac </item>
-<item href="http://twitter.com/nginxorg"> twitter </item>
-<item href="http://nginx.com/blog/"> blog </item>
-<item />
-
-<item href="https://unit.nginx.org/"> unit </item>
-<item href="/en/docs/njs/"> njs </item>
-
-</menu>
-
-
-<menu lang="it">
-
-<item href="/en/" switchlang="en"> english </item>
-<item href="/ru/" switchlang="ru"> русский </item>
-<item />
-
-<!--
-<item href="/cn/" switchlang="cn"> 简体中文 </item>
-<item href="/he/" switchlang="he"> עברית </item>
-<item href="/ja/" switchlang="ja"> 日本語 </item>
-<item href="/tr/" switchlang="tr"> türkçe </item>
-<item> italiano </item>
-<item />
--->
-
-<item href="/it/"> informazioni generali </item>
-<item href="/it/download.html"> download </item>
-<item href="/en/security_advisories.html" lang="ing"> avvisi di sicurezza </item>
-<item href="/it/docs/"> documentazione </item>
-<item href="/en/docs/faq.html" lang="ing"> faq </item>
-<item href="/en/links.html" lang="ing"> collegamenti </item>
-<item href="/en/books.html" lang="ing"> libri </item>
-<item href="/it/support.html"> supporto </item>
-<item />
-
-<item href="http://trac.nginx.org/nginx"> trac </item>
-<item href="http://twitter.com/nginxorg"> twitter </item>
-<item href="http://nginx.com/blog/"> blog </item>
-<item />
-
-<item href="https://unit.nginx.org/"> unit </item>
-<item href="/en/docs/njs/"> njs </item>
-
-</menu>
-
 </menus>
deleted file mode 100644
--- a/xml/tr/GNUmakefile
+++ /dev/null
@@ -1,11 +0,0 @@
-DOCS =									\
-		faq							\
-		windows							\
-		http/request_processing					\
-		http/server_names					\
-		http/configuring_https_servers				\
-		debugging_log						\
-		http/converting_rewrite_rules				\
-
-FAQ =									\
-		sys_errlist						\
deleted file mode 100644
--- a/xml/tr/docs/debugging_log.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Hata ayıklama kaydı"
-         link="/tr/docs/debugging_log.html"
-         lang="tr">
-
-<section>
-
-<para>
-Hata ayıklama kayıt işlemini olanaklı kılmak için, nginxi debug komutu ile yapılandırmalısınız:
-
-<programlisting>
-./configure --with-debug ...
-</programlisting>
-
-ve daha sonra <literal>error_log</literal> ile <literal>debug</literal> dizin yolunu belirtin:
-
-<programlisting>
-error_log  /path/to/log  debug;
-</programlisting>
-
-nginx/Windows binary versiyonu, varsayılan olarak hata ayıklama kayıt desteği ile gelir. Bu yüzden yalnızca <literal>debug</literal> dizin yolunu belirtmek yeterlidir.
-</para>
-
-<para>
-Not: başka düzeyde bulunan tanımlı bir kayıt (örneğin <i>server</i> üzerinde), diğer hata ayıklama kaydını etkisizleştirir:
-<programlisting>
-error_log  /path/to/log  debug;
-
-http {
-    server {
-        error_log  /path/to/log;
-        ...
-</programlisting>
-Ya bu sunucudaki kaydı yorum ifadesi ile kapatmalı ya da <literal>debug</literal> etiketini (flag) buraya da eklemelisiniz:
-<programlisting>
-error_log  /path/to/log  debug;
-
-http {
-    server {
-        error_log  /path/to/log  debug;
-        ...
-</programlisting>
-</para>
-
-<para>
-Hata ayıklama kayıt işlemini belirli adresler için de belirleyebilirsiniz:
-
-<programlisting>
-error_log  /path/to/log;
-
-events {
-    debug_connection   192.168.1.1;
-    debug_connection   192.168.10.0/24;
-}
-</programlisting>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/tr/docs/faq.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="FAQ"
-         link="/tr/docs/faq.html"
-         lang="tr">
-
-<section>
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="sys_errlist.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/tr/docs/http/configuring_https_servers.xml
+++ /dev/null
@@ -1,377 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="HTTPS sunucularının yapılandırılması"
-         link="/tr/docs/http/configuring_https_servers.html"
-         lang="tr"
-         author="Igor Sysoev"
-         translator="Altan Tanrıverdi">
-
-<section>
-
-<para>
-Bir HTTPS sunucusunu yapılandırmak için, server bloğu içerisinde SSL&rsquo;i etkin hale getirmeli ve sunucu sertifikası ve özel anahtar dosyaları belirtmelisiniz:
-
-<programlisting>
-server {
-    listen               443;
-    server_name          www.example.com;
-    ssl                  on;
-    ssl_certificate      www.example.com.crt;
-    ssl_certificate_key  www.example.com.key;
-    ssl_protocols        SSLv3 TLSv1;
-    ssl_ciphers          HIGH:!ADH:!MD5;
-    ...
-}
-</programlisting>
-
-Sunucu sertifikası herkese açık bir birimdir. Sunucuya bağlanan her istemciye gönderilir. Özel anahtar ise gizli bir birimdir ve erişimi engellenmiş bir alanda saklanır. Ancak nginx&rsquo;in ana işlemi tarafından okunabilir olmalıdır. Özel anahtar, alternatif olarak sertifika ile aynı dosya içerisinde saklanabilir:
-
-<programlisting>
-    ssl_certificate      www.example.com.cert;
-    ssl_certificate_key  www.example.com.cert;
-</programlisting>
-
-Bu durumda dosya erişimi kısıtlanmalıdır. Aynı dosyada yer alsalar da istemciye sadece sertifika gönderilir.
-</para>
-
-<para>
-<literal>ssl_protocols</literal> ve <literal>ssl_ciphers</literal> yönergeleri, güçlü SSL protokol ve şifrelere (cipher) yapılan bağlantılara limit koymak için kullanılır. Versiyon 0.8.20 ile birlikte nginx, <literal>ssl_protocols SSLv3 TLSv1</literal> ve <literal>ssl_ciphers HIGH:!ADH:!MD5</literal> yönergelerini varsayılan olarak kullanır, bu nedenle sadece daha önceki versiyonlarda yapılandırmaya eklenmelidir.
-</para>
-
-</section>
-
-
-<section id="optimization" name="HTTPS sunucu optimizasyonu">
-
-<para>
-SSL işlemleri ekstra işlemci (CPU) kaynakları tüketir. Çok-işlemcili sistemlerde birçok işçi işlemler yürütmelisiniz: Mevcut işlemci çekirdek sayısından az olmamalı. En yoğun işlemci-yoğun işlem SSL el sıkışmalarıdır (ÇN: SSL Handshake, kısaca sunucuda bulunan sertifikanın istemci bilgisayar tarafından onaylanması ve tekrar sunucuya bildirilmesi sürecidir). Her bir istemci için mevcut bu işlemlerin sayısını azaltmanın iki yolu vardır: İlki, keep-alive bağlantıları olanaklı kılarak bir çok talebi sadece bir bağlantı ile göndermek ve ikincisi ise SSL oturum parametrelerini tekrar kullanarak paralel ve izleyen (subsequent) bağlantılar için SSL el sıkışmalarından kaçınmaktır.
-
-Oturumlar, bir <literal>ssl_session_cache</literal> yönergesi tarafından yapılandırılan ve işçiler arasında paylaştırılmış bir SSL oturum önbelleğinde yer alır. Bir megabyte önbellek yaklaşık 4000 oturum içerir. Varsayılan önbellek zaman aşımı 5 dakikadır. <literal>ssl_session_timeout</literal> yönergesi ile bu süre arttırılabilir. 10M paylaşımlı oturum önbelleğine sahip bir quad core sistem için örnek yapılandırma:
-
-<programlisting>
-<b>worker_processes  4</b>;
-
-http {
-    <b>ssl_session_cache    shared:SSL:10m</b>;
-    <b>ssl_session_timeout  10m</b>;
-
-    server {
-        listen               443;
-        server_name          www.example.com;
-        <b>keepalive_timeout    70</b>;
-
-        ssl                  on;
-        ssl_certificate      www.example.com.crt;
-        ssl_certificate_key  www.example.com.key;
-        ssl_protocols        SSLv3 TLSv1;
-        ssl_ciphers          HIGH:!ADH:!MD5;
-        ...
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="chains" name="SSL sertifika zincirleri">
-
-<para>
-Bazı tarayıcılar popüler bir sertifika otoritesi tarafından imzalanmış sertifikaları sorunsuz kabul ederken, diğerleri sorun çıkarabilir. Bunun nedeni sertifika otoritesinin, sunucu sertifikasını, güvenilir sertifika veri tabanında yer almayan aracı bir sertifikayı kullanarak imzalamış olmasıdır. Bu durumda otorite, imzalanmış sertifikaya art arda bağlanması gereken bir dizi sertifika zinciri sunar. Bir araya geldikleri dosyada ilk önce sunucu sertifikası daha sonra zincirlenmiş sertifikalar yer almalıdır:
-
-<programlisting>
-$ cat www.example.com.crt bundle.crt > www.example.com.chained.crt
-</programlisting>
-
-Oluşan dosya <literal>ssl_certificate</literal> yönergesi içinde kullanılmalıdır:
-
-<programlisting>
-server {
-    listen               443;
-    server_name          www.example.com;
-    ssl                  on;
-    ssl_certificate      www.example.com.chained.crt;
-    ssl_certificate_key  www.example.com.key;
-    ...
-}
-</programlisting>
-
-Eğer bu art arda diziliş yanlış yapılmış olursa, nginx başlamayacak ve aşağıdakine benzer bir hata mesajını verecektir:
-
-<programlisting>
-SSL_CTX_use_PrivateKey_file(" ... /www.example.com.key") failed
-   (SSL: error:0B080074:x509 certificate routines:
-    X509_check_private_key:key values mismatch)
-</programlisting>
-
-Bu durum, nginx&rsquo;in sunucu sertifikası yerine zincirlenmiş sertifikaların ilkinin özel anahtarını kullanmaya çalışması sonucu oluşur.
-</para>
-
-<para>
-Tarayıcılar, güvenilir otoriteler tarafından imzalanmış aracı sertifikaları genellikle depolarlar. Bu nedenle tarayıcı aracı sertifikaları daha önceden depolamış olabileceğinden zincirlenmiş sertifikalara ihtiyaç duymadan sertifika hakkında uyarı vermezler. Diğer taraftan sunucunun sertifika zincir dizisini tam olarak gönderdiğinden emin olmak için <path>openssl</path> komutunu kullanabilirsiniz:
-
-<programlisting>
-$ openssl s_client -connect www.godaddy.com:443
-...
-Certificate chain
- 0 s:/C=US/ST=Arizona/L=Scottsdale/1.3.6.1.4.1.311.60.2.1.3=US
-     /1.3.6.1.4.1.311.60.2.1.2=AZ/O=GoDaddy.com, Inc
-     /OU=MIS Department/<b>CN=www.GoDaddy.com</b>
-     /serialNumber=0796928-7/2.5.4.15=V1.0, Clause 5.(b)
-   i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc.
-     /OU=http://certificates.godaddy.com/repository
-     /CN=Go Daddy Secure Certification Authority
-     /serialNumber=07969287
- 1 s:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc.
-     /OU=http://certificates.godaddy.com/repository
-     /CN=Go Daddy Secure Certification Authority
-     /serialNumber=07969287
-   i:/C=US/O=The Go Daddy Group, Inc.
-     /OU=Go Daddy Class 2 Certification Authority
- 2 s:/C=US/O=The Go Daddy Group, Inc.
-     /OU=Go Daddy Class 2 Certification Authority
-   i:/L=ValiCert Validation Network/O=<b>ValiCert, Inc.</b>
-     /OU=ValiCert Class 2 Policy Validation Authority
-     /CN=http://www.valicert.com//emailAddress=info@valicert.com
-...
-</programlisting>
-
-Bu örnekte <literal>www.GoDaddy.com</literal> sunucu sertifikasının (server certificate #0) &ldquo;<i>s</i>&rdquo; ile belirtilen konusu (subject), &ldquo;<i>i</i>&rdquo; ile gösterilen ve aynı zamanda kendisi de sonraki sertifikanın (certificate #1) konusu (subject) olan, sertifikayı veren/yayınlayan (issuer) tarafından imzalanır. Sonraki sertifika (certificate #1) ise bir sonraki sertifika (certificate #2) tarafından imzalanmıştır ve bu son sertifika <i>ValiCert, Inc.</i> tarafından imzalanmıştır. Bu firmanın sertifikası, tarayıcının kurulumuyla gelen sertifika veritabanında bulunur.
-</para>
-
-<para>
-Eğer sertifika dizisi eklemediyseniz, yalnızca bir sunucu sertifikası görürsünüz (server certificate #0).
-</para>
-
-</section>
-
-
-<section id="single_http_https_server" name="Tekil HTTP/HTTPS sunucusu">
-
-<para>
-En baştan HTTP ve HTTPS protokollerini ayrı yapılandırmak en iyisidir. Mevcut durumda fonksiyonellikleri aynı gözükmekle birlikte, bu gelecekte önemli bir şekilde değişebilir ve birleştirilmiş bir sunucu problemli olabilir. Ancak, eğer HTTP ve HTTPS sunucuları eşit ise ve geleceği düşünmek istemiyorsanız, <literal>ssl on</literal> yönergesini silerek ve *:443 portu için <literal>ssl</literal> parametresi ekleyerek, HTTP ve HTTPS taleplerini tutan yalnızca bir sunucu yapılandırabilirsiniz:
-
-<programlisting>
-server {
-    listen               80;
-    listen               443  ssl;
-    server_name          www.example.com;
-    ssl_certificate      www.example.com.crt;
-    ssl_certificate_key  www.example.com.key;
-    ...
-}
-</programlisting>
-
-<note>
-Versiyon 0.8.21 öncesi, nginx yalnızca <literal>default</literal> parametresine sahip listen soketlerinde <literal>ssl</literal> parametresinin eklenmesine izin veriyordu:
-<programlisting>
-listen  443  default  ssl;
-</programlisting>
-</note>
-</para>
-
-</section>
-
-
-<section id="name_based_https_servers" name="Ad tabanlı HTTPS sunucuları">
-
-<para>
-Bir IP adresini dinleyen iki veya daha fazla HTTPS sunucusunu yapılandırdığınız zaman genel bir problem ortaya çıkar:
-
-<programlisting>
-server {
-    listen           443;
-    server_name      www.example.com;
-    ssl              on;
-    ssl_certificate  www.example.com.crt;
-    ...
-}
-
-server {
-    listen           443;
-    server_name      www.example.org;
-    ssl              on;
-    ssl_certificate  www.example.org.crt;
-    ...
-}
-</programlisting>
-
-Bu yapılandırmada, bir tarayıcı talep edilen sunucuya bakmadan, varsayılan sunucunun sertifikasını alır, örneğin: <literal>www.example.com</literal>. Bu SSL protokolüne özgü bir durumdan kaynaklanır. SSL bağlantısı, tarayıcının HTTP talebi göndermesinden önce kurulur ve nginx talep edilen sunucunun adını bilmez. Bu nedenle yalnızca varsayılan sunucunun sertifikasını önerir.
-</para>
-
-<para>
-Bu problemi çözmenin en eski ve sağlam methodu HTTPS sunucularının her birine ayrı IP adresleri atamaktır:
-
-<programlisting>
-server {
-    listen           192.168.1.1:443;
-    server_name      www.example.com;
-    ssl              on;
-    ssl_certificate  www.example.com.crt;
-    ...
-}
-
-server {
-    listen           192.168.1.2:443;
-    server_name      www.example.org;
-    ssl              on;
-    ssl_certificate  www.example.org.crt;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="certificate_with_several_names"
-        name="Birçok ad içeren SSL sertifikası">
-
-<para>
-Bir tekil IP&rsquo;yi birçok HTTPS sunucu arasında paylaştırmanın başka yolları da vardır, ancak bunların hepsi dezavantajlara sahiptir. Bunlardan biri, birçok ad içeren bir sertifikanın, SubjectAltName sertifika alanında kullanılmasıdır. Örneğin: <literal>www.example.com</literal> ve <literal>www.example.org</literal>. Ancak SubjectAltName alan uzunluğu sınırlandırılmıştır.
-</para>
-
-<para>
-Diğer bir yol ise bir sertifikayı bir wildcard adı ile birlikte kullanmaktır. Örneğin: <literal>*.example.org</literal>. Bu sertifika <literal>www.example.org</literal> ile eşleşir ancak <literal>example.org</literal> ve <literal>www.sub.example.org</literal> ile eşleşmez. Bu iki method birlikte de kullanılabilir. Bir sertifika SubjectAltName alanı içerisinde gerçek ve wildcard adlarını içerebilir. Örneğin: <literal>example.org</literal> ve <literal>*.example.org</literal>.
-</para>
-
-<para>
-Tüm sunuculardaki tekil hafıza kopyalarını devralması için, birçok ad içeren bir sertifika dosyası ve onun özel anahtar dosyasını, yapılandırmanın <i>http</i> düzeyinde bulundurmak en iyisidir:
-
-<programlisting>
-ssl_certificate      common.crt;
-ssl_certificate_key  common.key;
-
-server {
-    listen           443;
-    server_name      www.example.com;
-    ssl              on;
-    ...
-}
-
-server {
-    listen           443;
-    server_name      www.example.org;
-    ssl              on;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="sni" name="Server Name Indication">
-
-<para>
-Bir IP adresi üzerinde birçok HTTPS sunucusu yürütebilmenin en genel yollarından biri, bir SSL el sıkışması (handshake) sırasında, tarayıcının talep edilmiş bir sunucu adını iletmesine izin veren ve böylece sunucunun varsayılan bağlantı için hangi sertifikayı kullanacağını bilmesini sağlayan <link url="http://en.wikipedia.org/wiki/Server_Name_Indication">TLSv1.1 Server Name Indication eklentisidir</link> (SNI, RFC3546). Ancak SNI, kısıtlı bir tarayıcı desteğine sahiptir. Mevcut destekleyen tarayıcılar ve versiyonları:
-</para>
-
-<list type="bullet">
-
-<listitem>
-Opera 8.0;
-</listitem>
-
-<listitem>
-MSIE 7.0 (sadece Windows Vista ve üstü);
-</listitem>
-
-<listitem>
-Firefox 2.0 ve Mozilla Platform rv:1.8.1 platformunu kullanan diğer tarayıcılar;
-</listitem>
-
-<listitem>
-Safari 3.2.1 (Windows Vista ve üstü);
-</listitem>
-
-<listitem>
-Chrome (Windows Vista ve üstü).
-</listitem>
-
-</list>
-
-<para>
-nginx içerisinde SNI kullanabilmek için, hem nginx ile birlikte yüklenen OpenSSL kütüphanesi hem de yürütüm süresi (run time) üzerinde dinamik olarak bağlatılanmış diğer kütüphaneler tarafından desteklenmiş olmalıdır. Versiyon 0.9.8f itibari ile <nobr>&ldquo;--enable-tlsext&rdquo;</nobr> yapılandırma opsiyonu ile birlikte OpenSSL, SNI desteği sunmaktadır. OpenSSL 0.9.8j itibari ile varsayılan olarak etkindir. Eğer nginx, SNI desteği ile yüklenirse &ldquo;-V&rdquo; anahtarını girdiğinizde aşağıdaki çıktı ile karşılaşırsınız:
-
-<programlisting>
-$ nginx -V
-...
-TLS SNI support enabled
-...
-</programlisting>
-
-Ama eğer SNI-etkin nginx, SNI desteği olmadan dinamik olarak OpenSSL&rsquo;e bağlantılanırsa, aşağıdaki hata ile karşılaşırsınız:
-
-<programlisting>
-nginx was built with SNI support, however, now it is linked
-dynamically to an OpenSSL library which has no tlsext support,
-therefore SNI is not available
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="compatibility" name="Uygunluk">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Versiyon 0.8.21 ve 0.7.62 ile birlikte SNI destek statüsü &ldquo;-V&rdquo; anahtarı ile birlikte görüntülenmeye başlandı.
-</listitem>
-
-<listitem>
-Versiyon 0.7.14 ile birlikte <literal>listen</literal> yönergesinin <literal>ssl</literal> parametresi desteklenmeye başlandı.
-</listitem>
-
-<listitem>
-Versiyon 0.5.32 ile birlikte SNI desteği gelmiştir.
-</listitem>
-
-<listitem>
-Versiyon 0.5.6 ile birlikte paylaşımlı SSL otorum önbelleği desteği gelmiştir.
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-Versiyon 0.7.65, 0.8.19 ve sonrası varsayılan SSL protokolleri: SSLv3 ve TLSv1.
-</listitem>
-
-<listitem>
-Versiyon 0.7.64, 0.8.18 ve öncesi varsayılan SSL protokolleri: SSLv2, SSLv3 ve TLSv1.
-</listitem>
-
-</list>
-</para>
-
-<para>
-<list type="bullet">
-
-<listitem>
-Versiyon 0.7.65, 0.8.20 ve sonrası varsayılan SSL şifreleri (cipher):
-<literal>HIGH:!ADH:!MD5</literal>.
-</listitem>
-
-<listitem>
-Versiyon 0.8.19: varsayılan SSL şifreleri:
-<literal>ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM</literal>.
-</listitem>
-
-<listitem>
-Versiyon 0.7.64, 0.8.18 ve öncesi varsayılan SSL şifreleri:<br/>
-<literal>ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP</literal>.
-</listitem>
-
-</list>
-</para>
-
-
-</section>
-
-
-</article>
deleted file mode 100644
--- a/xml/tr/docs/http/converting_rewrite_rules.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="rewrite kurallarının çevirisi"
-         link="/tr/docs/http/converting_rewrite_rules.html"
-         lang="tr">
-
-<section name="Ana siteye yönlendirme">
-
-<para>
-Paylaşımlı hosting kullananlar genelde her şeyi, sadece Apache&rsquo;nin .htaccess dosyalarını yapılandırarak kullanırlar. Bu dosyada bulunan kuralların çevirisine örnek olarak:
-
-<programlisting>
-RewriteCond  %{HTTP_HOST}  example.org
-RewriteRule  (.*)          http://www.example.org$1
-</programlisting>
-
-kuralı, nginx içerisinde şu şekilde yapılıyor:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  www.example.org  example.org;
-    if ($http_host = example.org) {
-        rewrite  (.*)  http://www.example.org$1;
-    }
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-Bu yanlış, kullanışsız ve etkisiz bir yoldur. Doğru olan ayrı bir sunucu tanımlaması yapmaktır:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org;
-    rewrite   ^  http://www.example.org$request_uri?;
-}
-
-server {
-    listen       80;
-    server_name  www.example.org;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section>
-
-<para>
-Diğer bir örnek ile aşağıdaki geri kalmış mantık yerine (<literal>example.com</literal> olmayan her şey ve <literal>www.example.com</literal> olmayan her şey):
-
-<programlisting>
-RewriteCond  %{HTTP_HOST}  !example.com
-RewriteCond  %{HTTP_HOST}  !www.example.com
-RewriteRule  (.*)          http://www.example.com$1
-</programlisting>
-
-sadece <literal>example.com</literal>, <literal>www.example.com</literal> ve diğer her şeyi ayrı ayrı tanımlamalısınız:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.com  www.example.com;
-    ...
-}
-
-server {
-    listen       80 default_server;
-    server_name  _;
-    rewrite   ^  http://example.com$request_uri?;
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="converting_mongrel_rules"
-        name="Mongrel kurallarının çevirisi">
-
-<para>
-Tipik Mongrel kuralları:
-
-<programlisting>
-DocumentRoot /var/www/myapp.com/current/public
-
-RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
-RewriteCond %{SCRIPT_FILENAME} !maintenance.html
-RewriteRule ^.*$ %{DOCUMENT_ROOT}/system/maintenance.html [L]
-
-RewriteCond %{REQUEST_FILENAME} -f
-RewriteRule ^(.*)$ $1 [QSA,L]
-
-RewriteCond %{REQUEST_FILENAME}/index.html -f
-RewriteRule ^(.*)$ $1/index.html [QSA,L]
-
-RewriteCond %{REQUEST_FILENAME}.html -f
-RewriteRule ^(.*)$ $1/index.html [QSA,L]
-
-RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]
-</programlisting>
-
-şu şekilde dönüştürülmelidir:
-
-<programlisting>
-location / {
-    root       /var/www/myapp.com/current/public;
-
-    try_files  /system/maintenance.html
-               $uri  $uri/index.html $uri.html
-               @mongrel;
-}
-
-location @mongrel {
-    proxy_pass  http://mongrel;
-}
-</programlisting>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/tr/docs/http/request_processing.xml
+++ /dev/null
@@ -1,222 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="nginx bir talebi nasıl işler"
-         link="/tr/docs/http/request_processing.html"
-         lang="tr"
-         author="Igor Sysoev"
-         translator="Altan Tanrıverdi">
-
-<section name="Ad-tabanlı sanal sunucular">
-
-<para>
-nginx, ilk olarak hangi sunucunun talebi işleyeceğine karar verir.
-80 portunu dinleyen 3 sunucunun olduğu bir yapılandırma ile örnek verelim:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  example.net  www.example.net;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  example.com  www.example.com;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-Bu yapılandırmada, nginx yalnızca talebin header bilgisinde bulunan &ldquo;Host&rdquo; datasını kullanarak hangi sunucunun cevap vereceğini belirliyor.
-Eğer &ldquo;Host&rdquo; datası boş ise veya herhangi bir sunucu adı ile eşleşmez ise nginx talebi varsayılan sunucuya yönlendirir.
-Yukarıdaki örnekte varsayılan sunucu ilk server ifadesi kabul edilir.
-Eğer ilk server ifadesinin varsayılan olmasını istemiyorsanız, <literal>listen</literal> yönergesinde <literal>default_server</literal> parametresini kullanabilirsiniz:
-
-<programlisting>
-server {
-    listen       80  <b>default_server</b>;
-    server_name  example.net  www.example.net;
-    ...
-}
-</programlisting>
-
-<note>
-<literal>default_server</literal> parametresi, versiyon 0.8.21 ile birlikte kullanılmaya başlanmıştır.
-Önceki versiyonlarda <literal>default</literal> parametresi kullanılmalıdır.
-</note>
-
-Not: Varsayılan sunucu, sunucu adının değil listen portunun bir özelliğidir. Daha sonra bu konuya değinilecek.
-</para>
-
-</section>
-
-
-<section id="how_to_prevent_undefined_server_names"
-        name="Tanımlanmamış sunucu adlarına gelen taleplerin işlenmesini engellemek">
-
-<para>
-Eğer tanımlanmamış &ldquo;Host&rdquo; bilgisine sahip talepleri işlemek istemiyorsanız, bu talepleri düşüren bir varsayılan sunucu tanımlayabilirsiniz:
-
-<programlisting>
-server {
-    listen       80  default_server;
-    server_name  _;
-    return       444;
-}
-</programlisting>
-
-Böylece var olmayan alan adı için &ldquo;_&rdquo; ifadesini kullanarak nginx&rsquo;in standart olmayan 444 koduna yönlendirerek bağlantıyı kapatıyoruz.
-Not: Bu sunucu için bir ad belirlemelisiniz. Aksi takdirde nginx <i>hostname</i> ifadesini kullanacaktır.
-</para>
-
-</section>
-
-
-<section id="mixed_name_ip_based_servers"
-        name="Ad ve IP bazlı karışık sanal sunucular">
-
-<para>
-Farklı adreslerde bulunan sanal sunucuların yer aldığı biraz daha karışık bir yapılandırmayı inceleyelim:
-<programlisting>
-server {
-    listen       192.168.1.1:80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       192.168.1.1:80;
-    server_name  example.net  www.example.net;
-    ...
-}
-
-server {
-    listen       192.168.1.2:80;
-    server_name  example.com  www.example.com;
-    ...
-}
-</programlisting>
-
-Bu yapılandırmada, nginx <literal>server</literal> bloklarında yer alan <literal>listen</literal> yönergelerini ilk olarak IP adresi ve port üzerinde test eder. Daha sonra, gelen taleplerin header bilgisinde yer alan &ldquo;Host&rdquo; datasını, IP ve port ile eşleşen <literal>server</literal> bloklarında yer alan <literal>server_name</literal> girdileri ile kontrol eder.
-
-Eğer sunucu bulunamazsa varsayılan sunucu tarafından işlenir. Örneğin, <literal>www.example.com</literal> için 192.168.1.1:80 adres ve portuna gelen bir talep, eğer bu adres ve port için <literal>www.example.com</literal> tanımlanmamışsa, 192.168.1.1:80&rsquo;e ait varsayılan sunucu tarafından işlenir.
-</para>
-
-<para>
-Daha önce belirtildiği gibi, varsayılan bir sunucu, bir listen portunun ve değişik listen portları için tanımlanan çeşitli varsayılan sunucuların özelliğidir:
-
-<programlisting>
-server {
-    listen        192.168.1.1:80;
-    server_name   example.org  www.example.org;
-    ...
-}
-
-server {
-    listen        192.168.1.1:80  default_server;
-    server_name   example.net  www.example.net;
-    ...
-}
-
-server {
-    listen        192.168.1.2:80  default_server;
-    server_name   example.com  www.example.com;
-    ...
-}
-</programlisting>
-</para>
-
-</section>
-
-
-<section id="simple_php_site_configuration"
-        name="Basit bir PHP sitesi yapılandırması">
-
-<para>
-nginx&rsquo;in basit bir PHP sitesi için gelen talebi işlemek için nasıl bir <i>lokasyon</i> seçtiğini inceleyelim:
-
-<programlisting>
-server {
-    listen        80;
-    server_name   example.org  www.example.org;
-    root          /data/www;
-
-    location / {
-        index     index.html  index.php;
-    }
-
-    location ~* \.(gif|jpg|png)$ {
-        expires   30d;
-    }
-
-    location ~ \.php$ {
-        fastcgi_pass   localhost:9000;
-        fastcgi_param  SCRIPT_FILENAME
-                       $document_root$fastcgi_script_name;
-        include        fastcgi_params;
-    }
-}
-</programlisting>
-</para>
-
-<para>
-nginx ilk olarak literal dizgiler (string) tarafından verilmiş en spesifik lokasyonları arar. Yukarıdaki yapılandırmada tek literal lokasyon <path>/</path> ifadesidir ve herhangi bir talep ile eşleştiğinde kullanılacak son uğraktır (resort). nginx, daha sonra yapılandırma dosyasında bulunan listelenmiş sıralardaki düzenli ifadeler tarafından verilmiş lokasyonları arar. İlk düzenli ifade eşleşmesi aramayı durdurur ve nginx bu lokasyonu kullanır. Eğer talep ile eşleşen bir düzenli ifade bulunamaz ise nginx daha önce bulduğu en spesifik lokasyonu kullanır.
-</para>
-
-<para>
-Not: Tüm tiplerde bulunan bu lokasyonlar sadece bir talebin, sorgu dizgisi olmayan URI datasını test eder. Bunun yapılmasının nedeni sorgu dizgisinde bulunan argümanların çeşitli yollarla verilebilmesidir, örneğin:
-
-<programlisting>
-/index.php?user=john&amp;page=1
-/index.php?page=1&amp;user=john
-</programlisting>
-
-Ayrıca herhangi biri, herhangi bir şeyi sorgu dizgileri ile talep edebilir:
-
-<programlisting>
-/index.php?page=1&amp;baska+bir+sey&amp;user=john
-</programlisting>
-</para>
-
-<para>
-Yukarıdaki yapılandırmada taleplerin nasıl işlendiğini inceleyelim:
-
-<list type="bullet">
-
-<listitem>
-<para>
-Bir <path>/logo.gif</path> talebi, ilk olarak <literal>/</literal> literal lokasyonu, daha sonra, <literal>\.(gif|jpg|png)$</literal> düzenli ifadesi tarafından eşleştirilir. Bu sonraki (latter) lokasyon tarafından tutulur. <literal>root&nbsp;/data/www</literal> yönergesi kullanılarak, talep <path>/data/www/logo.gif</path> dosyasına eşlemlenir (mapped to) ve dosya istemciye gönderilir.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Bir <path>/index.php</path> talebi de ilk olarak <literal>/</literal> literal lokasyonu, sonra, <literal>\.(php)$</literal> düzenli ifadesi tarafından eşleştirilir. Bu nedenle sonraki lokasyon tarafından tutulur ve localhost:9000&rsquo;in dinlendiği bir FastCGI sunucusuna iletilir. <literal>fastcgi_param</literal> yönergesi, SCRIPT_FILENAME FastCGI parametresini <path>/data/www/index.php</path> adresine yerleştirir ve FastCGI sunucusu dosyayı yürütür. $document_root değişkeni <literal>root</literal> yönergesinin değerine, $fastcgi_script_name değişkeni ise talebin URI değerine eşittir. Örneğin <path>/index.php</path>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Bir <path>/about.html</path> talebi yalnızca <literal>/</literal> literal lokasyonu tarafından eşleştirilir ve bu yüzden, bu lokasyon tarafından tutulur. <literal>root /data/www</literal> yönergesi kullanılarak talep, <path>/data/www/about.html</path> dosyasına eşlemlenir ve istemciye gönderilir.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Bir <path>/</path> talebini tutmak daha karmaşıktır. Sadece <literal>/</literal> literal lokasyonu tarafından eşleştirilir ve bu yüzden bu lokasyon tarafından tutulur. Sonra <literal>index</literal> yönergesi parametrelerine ve <literal>root&nbsp;/data/www</literal> yönergesine göre bir index dosyası olup olmadığını kontrol eder. Eğer bir <path>/data/www/index.php</path> dosyası mevcut ise yönerge, <path>/index.php</path> adresine dahili bir yönlendirme yapar ve eğer talep bir istemci tarafından gönderilmiş ise nginx, lokasyonları tekrar arar. Daha önce gördüğümüz gibi, yönlendirilmiş talep en son olarak FastCGI sunucusu tarafından tutulur.
-</para>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/tr/docs/http/server_names.xml
+++ /dev/null
@@ -1,354 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
-
-<article name="Sunucu adları"
-         link="/tr/docs/http/server_names.html"
-         lang="tr"
-         author="Igor Sysoev"
-         translator="Altan Tanrıverdi">
-
-<section>
-
-<para>
-Sunucu adları <literal>server_name</literal> yönergesi kullanılarak tanımlanırlar ve gelen bir talep için hangi server bloğunun kullanılacağını belirlerler. Ayrıca bakınız &ldquo;<link doc="request_processing.xml" />&rdquo;. Gerçek, wildcard veya düzenli ifadeler şeklinde tanımlanabilirler.
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  *.example.org;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  mail.*;
-    ...
-}
-
-server {
-    listen       80;
-    server_name  ~^(?&lt;user&gt;.+)\.example\.net$;
-    ...
-}
-</programlisting>
-
-Bu adlar şu sıra ile test edilirler:
-
-<list type="enum">
-
-<listitem>
-gerçek adlar;
-</listitem>
-
-<listitem>
-* ile başlayan wildcard adlar: <literal>*.example.org</literal>;
-</listitem>
-
-<listitem>
-* ile biten wildcard adlar: <literal>mail.*</literal>;
-</listitem>
-
-<listitem>
-ve düzenli ifadeler (regular expressions).
-</listitem>
-
-</list>
-İlk eşleşme arama işlemini bitirir.
-</para>
-
-</section>
-
-
-<section id="wildcard_names"
-        name="Wildcard adlar">
-
-<para>
-Bir wildcard ad ancak başlangıçta veya bitişte * ifadesini içerir ve nokta ile sınırlandırılır. <literal>www.*.example.org</literal> ve <literal>w*.example.org</literal> adları geçersizdir. Ancak bu adlar düzenli ifadeler ile geçerli hale getirilebilir, örneğin, <literal>~^www\..+\.example\.org$</literal> ve <literal>~^w.*\.example\.org$</literal>. Buradaki * bir çok eşleşmeyi tanımlayabilir. <literal>*.example.org</literal> ifadesi <literal>www.example.org</literal> ve <literal>www.sub.example.org</literal> adlarına karşılık gelebilir.
-</para>
-
-<para>
-<literal>.example.org</literal> şeklindeki bir wildcard <literal>example.org</literal> gerçek adı ile <literal>*.example.org</literal> wildcard adına karşılık gelir.
-</para>
-
-</section>
-
-
-<section id="regex_names"
-        name="Düzenli ifade adları">
-
-<para>
-nginx tarafından kullanılan düzenli ifadeler, Perl programlama dili (PCRE) tarafından kullanılanlar ile tam uyumludur.
-Bir düzenli ifade kullanmak için sunucu adı tilda (~) ile başlamalıdır:
-
-<programlisting>
-server_name  ~^www\d+\.example\.net$;
-</programlisting>
-
-diğer türlü ifade gerçek ad veya düzenli ifade * içeriyorsa wildcard ad gibi algılanacaktır (ve yüksek ihtimal geçersiz bir ad olarak).
-&ldquo;^&rdquo; ve &ldquo;$&rdquo; çapalarını kullanmayı unutmayın.
-Sentaks açısından gerekli olmasalar da mantık açısından gereklidir.
-Ayrıca alan adında bulunan noktalarda da \ önceli ile kullanılmalıdır.
-&ldquo;{&rdquo; ve &ldquo;}&rdquo; kullanan bir düzenli ifade tırnak arasına alınmalıdır:
-
-<programlisting>
-server_name  "~^(?&lt;name&gt;\w\d<b>{</b>1,3<b>}</b>+)\.example\.net$";
-</programlisting>
-
-diğer türlü, nginx şu şekilde bir hata verecektir:
-
-<programlisting>
-directive "server_name" is not terminated by ";" in ...
-</programlisting>
-
-Bir düzenli ifade adı değişken olarak sonraki aşamalarda kullanılabilir:
-
-<programlisting>
-server {
-    server_name   ~^(www\.)?(<b>?&lt;domain&gt;</b>.+)$;
-
-    location / {
-        root   /sites/<b>$domain</b>;
-    }
-}
-</programlisting>
-
-PCRE kütüphanesi ile ad yakalama işlemi de şu şekildedir:
-
-<table note="yes">
-
-<tr>
-<td><literal>?&lt;<value>name</value>&gt;</literal></td>
-<td>Perl 5.10 uyumlu sentaks, PCRE-7.0 ile gelmiştir.</td>
-</tr>
-
-<tr>
-<td><literal>?'<value>name</value>'</literal></td>
-<td>Perl 5.10 uyumlu sentaks, PCRE-7.0 ile gelmiştir.</td>
-</tr>
-
-<tr>
-<td><literal>?P&lt;<value>name</value>&gt;</literal></td>
-<td>Python uyumlu sentaks, PCRE-4.0 ile gelmiştir.</td>
-</tr>
-
-</table>
-
-Eğer nginx aşağıdaki hatayı verirse:
-
-<programlisting>
-pcre_compile() failed: unrecognized character after (?&lt; in ...
-</programlisting>
-
-bu PCRE kütüphanesini eski olduğu ve <literal>?P&lt;<value>name</value>&gt;</literal> şeklinde kullanmanız gerektiği anlamına gelir.
-Yakalama ayrıca dijital formda da olabilir:
-
-<programlisting>
-server {
-    server_name   ~^(www\.)?(.+)$;
-
-    location / {
-        root   /sites/<b>$2</b>;
-    }
-}
-</programlisting>
-
-Ancak, dijital referanslar kolaylıkla üstüne yazılabilir olduğundan, bu şekilde kullanım basit durumlar için sınırlandırılmalıdır (yukarıdaki gibi).
-</para>
-
-
-</section>
-
-
-<section id="miscellaneous_names"
-        name="Diğer muhtelif adlar">
-
-<para>
-Eğer server bloğu içerisinde bir <literal>server_name</literal> tanımlanmamışsa nginx, sunucu adı olarak <i>hostname</i> ifadesini kullanır.
-</para>
-
-<para>
-Eğer varsayılan dışındaki bir server bloğuna gelen ve header bilgisinde &ldquo;Host&rdquo; datası yer almayan bir talebi işlemek isterseniz boş bir ad kullanmak zorundasınız:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org  "";
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-Eğer bir istemci ad yerine IP adresini kullanarak bir talepte bulunursa, header içerisinde bulunan &ldquo;Host&rdquo; datası IP bilgisini içerecektir ve bu IP adresini, sunucu adı olarak kullanarak talebi işleyebilirsiniz:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org
-                 www.example.org
-                 ""
-                 <b>192.168.1.1</b>
-                 ;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-Bir catch-all (tümünü-yakala) sunucuda &ldquo;_&rdquo; şeklinde garip bir ifade ile karşılaşabilirsiniz:
-
-<programlisting>
-server {
-    listen       80  default_server;
-    server_name  _;
-    return       444;
-}
-</programlisting>
-
-Bu ad ile ilgili özel bir durum söz konusu değil, sadece gerçek bir ad ile kesişmeyen sayısız geçersiz alan adlarından biridir.
-Ayrıca &ldquo;--&rdquo;, &ldquo;!@#&rdquo; ve benzeri ifadeler de kullanabilirsiniz.
-</para>
-
-<para>
-nginx, 0.6.25 versiyonuna kadar, bir catch-all adı olmak için hatalı bir şekilde yorumlanan &ldquo;*&rdquo; özel adını destekliyordu.
-Fakat bu bir catch-all veya wildcard sunucu adı olarak fonksiyonel değil. Bunun yerine, <literal>server_name_in_redirect</literal> yönergesini kullanarak fonksiyonelliği sağlamaya başladık.
-&ldquo;*&rdquo; özel karakteri artık desteklenmiyor, bu yüzden <literal>server_name_in_redirect</literal> yönergesi kullanılmalıdır.
-Not: <literal>server_name</literal> yönergesini kullanan varsayılan sunucuyu veya catch-all adını belirtmenin bir yolu bulunmuyor.
-Bu, <literal>server_name</literal> yönergesinin değil, <literal>listen</literal> yönergesinin bir özelliğidir.
-Ayrıca bakınız &ldquo;<link doc="request_processing.xml" />&rdquo;.
-*:80 ve *:8080 portlarını dinleyen sunucular tanımlayabilir ve birini *:8080 portu için varsayılan olarak belirlerken, diğerini de *:80 için varsayılan olarak belirleyebilirsiniz:
-
-<programlisting>
-server {
-    listen       80;
-    listen       8080  default_server;
-    server_name  example.net;
-    ...
-}
-
-server {
-    listen       80  default_server;
-    listen       8080;
-    server_name  example.org;
-    ...
-}
-</programlisting>
-</para>
-
-
-</section>
-
-
-<section id="optimization"
-        name="Optimizasyon">
-
-<para>
-Gerçek ve wildcard adlar çırpılarda (hash) depolanır. Çırpılar listen portlarına bağlıdırlar ve her bir listen port 3 farklı çırpıya sahip olabilir: gerçek ad çırpısı, * ile başlayan bir wildcard adı çırpısı ve * ile biten bir wildcard adı çırpısı. Çırpıların boyutu yapılandırma aşamasında optimize edilir ve böylece bir ad en az önbellek kayıpları ile bulundurulur. İlk olarak gerçek ad çırpısı aranır. Gerçek ad çırpısı kullanan bir ad bulunmaz ise, * ile başlayan wildcard ad çırpısı aranır. Bu da bulunmaz ise, * ile biten wildcard ad çırpısı aranır. Adların alanadı parçaları ile aranması nedeniyle wildcard ad çırpıları araması, gerçek ad çırpı aramasına oranla daha yavaştır. Not: Özel <literal>.example.org</literal> wildcard formu, gerçek ad çırpısında değil, wildcard ad çırpısında saklanır. Düzenli İfadeler sırayla test edildiğinden bu en yavaş ve ölçeklenebilir olmayan yöntemdir.
-</para>
-
-<para>
-Bu nedenlerden dolayı, imkanlar el veriyorsa gerçek adları kullanmak en iyisidir. Örneğin, bir sunucunun en sık talep edilen adları <literal>example.org</literal> ve <literal>www.example.org</literal> ise bunları açıkca belirtmek daha etkili olacaktır:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  example.org  www.example.org  *.example.org;
-    ...
-}
-</programlisting>
-
-bu kullanım aşağıdaki basit kullanımdan daha etkili olacaktır:
-
-<programlisting>
-server {
-    listen       80;
-    server_name  .example.org;
-    ...
-}
-</programlisting>
-</para>
-
-<para>
-Eğer çok miktarda veya olağandışı şekilde uzun sunucu adları tanımladıysanız, <i>http</i> düzeyinde <literal>server_names_hash_max_size</literal>
-ve <literal>server_names_hash_bucket_size</literal> yönergelerini tekrar ayarlamalısınız. <literal>server_names_hash_bucket_size</literal> yönergesinin varsayılan değeri CPU önbellek satır boyutuna göre 32, 64 veya başka bir rakam olabilir. Eğer bu değer 32 ise ve &ldquo;cok.uzun.sunucu.adi.example.org&rdquo; ifadesini sunucu adı olarak belirlerseniz nginx, başlamayacak ve aşağıdaki hatayı verecektir:
-
-<programlisting>
-could not build the server_names_hash,
-you should increase server_names_hash_bucket_size: 32
-</programlisting>
-
-Bu durumda yönerge değerini aşağıdaki gibi belirlemelisiniz:
-
-<programlisting>
-http {
-    server_names_hash_bucket_size  64;
-    ...
-</programlisting>
-
-Eğer çok fazla sunu adı belirlemiş iseniz şu şekilde bir hata alacaksınız:
-
-<programlisting>
-could not build the server_names_hash,
-you should increase either server_names_hash_max_size: 512
-or server_names_hash_bucket_size: 32
-</programlisting>
-
-Bu durumda ilk olarak <literal>server_names_hash_max_size</literal> değerini sunucu ad sayısına yakın bir değeri yükseltin. Eğer bu da yardımcı sorunu çözmez ise veya nginx başlama süresi çok uzar ise <literal>server_names_hash_bucket_size</literal> değerini arttırın.
-</para>
-
-<para>
-Eğer bir sunucu sadece bir listen port için ise, nginx sunucu adlarını test etmeyecek ve listen port için çırpılar yaratmayacaktır. Fakat bu durumun bir istisnası var; eğer <literal>server_name</literal> tutuklar (capture) içeren bir düzenli ifade ise nginx, bu tutukları almak için ifadeyi yürütmek zorundadır.
-</para>
-
-</section>
-
-
-<section id="compatibility"
-        name="Uygunluk">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Named düzenli ifade sunucu adı tutukları, 0.8.25 versiyonundan beri destekleniyor.
-</listitem>
-
-<listitem>
-Düzenli ifade sunucu adı tutukları, 0.7.40 versiyonundan beri destekleniyor.
-</listitem>
-
-<listitem>
-&ldquo;&rdquo; boş sunucu adı 0.7.12 versiyonundan beri destekleniyor.
-</listitem>
-
-<listitem>
-Bir wildcard sunucu adının veya düzenli ifadenin ilk sunucu adı olarak kullanılması 0.6.25 versiyonundan beri destekleniyor.
-</listitem>
-
-<listitem>
-Düzenli ifade sunucu adları 0.6.7 versiyonundan beri destekleniyor.
-</listitem>
-
-<listitem>
-<literal>example.*</literal> wildcard formu 0.6.0 versiyonundan beri destekleniyor.
-</listitem>
-
-<listitem>
-<literal>.example.org</literal> özel formu 0.3.18 versiyonundan beri destekleniyor.
-</listitem>
-
-<listitem>
-<literal>*.example.org</literal> wildcard formu 0.1.13 versiyonundan beri destekleniyor.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/tr/docs/index.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="nginx dökümantasyonu"
-         link="/tr/docs/"
-         lang="tr"
-         toc="no">
-
-
-<section id="introduction" name="Giriş">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="http/request_processing.xml"/>
-</listitem>
-
-<listitem>
-<link doc="http/server_names.xml"/>
-</listitem>
-
-<listitem>
-<link doc="windows.xml"/>
-</listitem>
-
-<listitem>
-<link doc="http/configuring_https_servers.xml"/>
-</listitem>
-
-<listitem>
-<link doc="debugging_log.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="howto" name="Kılavuz">
-
-<para>
-<list type="bullet">
-
-<listitem>
-<link doc="http/converting_rewrite_rules.xml"/>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/tr/docs/sys_errlist.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="&ldquo;&nbsp;&lsquo;sys_errlist&rsquo;
-                is deprecated;
-                use &lsquo;strerror&rsquo; or &lsquo;strerror_r&rsquo;
-                instead&nbsp;&rdquo; uyarısı"
-         link="/tr/docs/sys_errlist.html"
-         lang="tr">
-
-<section>
-
-<para>
-nginx versiyon 0.7.66, 0.8.35 ve üstü için Linux kurulumu yaparken, şu uyarıları alabilirsiniz:
-
-<programlisting>
-warning: `sys_errlist' is deprecated;
-    use `strerror' or `strerror_r' instead
-warning: `sys_nerr' is deprecated;
-    use `strerror' or `strerror_r' instead
-</programlisting>
-
-Bu normal bir durum: strerror() ve strerror_r() fonksiyonları "Async-Signal-Safe" olmadığından, nginx sinyal işleyici olarak onaylı olmayan sys_errlist[] ve sys_nerr kullanmak zorundadır.
-</para>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/tr/docs/windows.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="nginx/Windows kullanımı"
-         link="/tr/docs/windows.html"
-         lang="tr">
-
-<section>
-
-<para>
-nginx/Windows doğrudan Win32 API&rsquo;yi kullanır (Cygwin emülasyon tabakasını değil).
-Şu an için sadece <i>select</i> methodunu kullandığından yüksek performans ve ölçeklenebilirlik beklememelisiniz.
-Bu ve bilinen diğer nedenlerle nginx/Windows&rsquo;u <i>beta</i> versiyon olarak kabul etmek gerekir.
-Unix versiyonu ile karşılaştırıldığında, XSLT filtresi, imaj filtresi, GeoIP modülü ve gömülü Perl dili hariç tam fonklsiyoneldir.
-</para>
-
-<para>
-nginx/Windows versiyonunu yüklemek için <link doc="../../en/download.xml">indir</link> bağlantısından zip formatındaki <mainline_version /> geliştirme versiyonunu indirebilirsiniz. Geliştirme versiyonu, özellikle Windows ile ilgili en son yamaları içerir. Dosyayı indirdikten sonra açarak, nginx-<mainline_version /> klasörü içerisinden nginx&rsquo;i çalıştırabilirsiniz.
-C sürücüsü için örnek. root dizini:
-
-<programlisting>
-cd c:\
-unzip nginx-<mainline_version />.zip
-cd nginx-<mainline_version />
-start nginx
-</programlisting>
-
-Ayrıca <path>tasklist</path> komutu ile nginx işlemlerini takip edebilirsiniz:
-
-<programlisting>
-C:\nginx-<mainline_version />&gt;tasklist /fi "imagename eq nginx.exe"
-
-Image Name           PID Session Name     Session#    Mem Usage
-=============== ======== ============== ========== ============
-nginx.exe            652 Console                 0      2 780 K
-nginx.exe           1332 Console                 0      3 112 K
-</programlisting>
-
-Bu işlemlerden biri ana, diğerleri işçi işlemleridir.
-Eğer nginx başlamazsa <path>logs\error.log</path> dosyasından nedenini öğrenebilirsiniz.
-Eğer kayıt (log) dosyası yaratılmamış ise bunun nedeni de Windows Event Log içerisinde belirtilmiştir.
-Eğer beklenen sayfa yerine hata sayfası ile karşılaşırsanız, yine <path>logs\error.log</path> dosyasını kontrol etmelisiniz.
-</para>
-
-<para>
-nginx/Windows, yapılandırmada yer alan nisbi dizin yolları için yürütüldüğü klasörü, önek klasör olarak kullanır.
-Buna örnek olarak, önek klasör şu şekildedir:
-<path>C:\nginx-<mainline_version />\</path>.
-Ayarlarda yer alan dizin yolları Unix-stili kesme işaretleri ile belirtilir:
-
-<programlisting>
-access_log   logs/site.log;
-root         C:/web/html;
-</programlisting>
-</para>
-
-<para>
-nginx/Windows bir servis olarak değil, standart konsol uygulaması olarak yürütülür ve aşağıdaki komutlar ile yönetilir:
-
-<table note="yes">
-
-<tr>
-<td width="20%">nginx -s stop</td>
-<td>hızlı çıkış</td>
-</tr>
-
-<tr>
-<td>nginx -s quit</td>
-<td>yavaş çıkış</td>
-</tr>
-
-<tr>
-<td>nginx -s reload</td>
-<td>
-ayarları değiştirmek,
-yeni işçi çalıştırmak,
-eski işçi işlemden yavaşça çıkmak
-</td>
-</tr>
-
-<tr>
-<td>nginx -s reopen</td>
-<td>Kayıt dosyalarını tekrar açmak</td>
-</tr>
-
-</table>
-</para>
-
-</section>
-
-<section id="known_issues"
-        name="Bilinen sorunlar">
-
-<list type="bullet">
-
-<listitem>
-Bir çok işçi yürütülebildiği halde sadece biri iş yapabilmektedir.
-</listitem>
-
-<listitem>
-Bir işçi, 1024 eşzamanlı bağlantıdan fazlasını karşılayamamaktadır.
-</listitem>
-
-<listitem>
-Paylaşımlı hafıza desteğine ihtiyaç duyan önbellek ve diğer modüller,
-&ldquo;address space layout randomization&rdquo; etkin olduğundan,
-Windows Vista ve sonraki versiyonlarda çalışmamaktadır.
-</listitem>
-
-</list>
-
-</section>
-
-<section id="possible_future_enhancements"
-        name="Muhtemel geliştirmeler">
-
-<list type="bullet">
-
-<listitem>
-Servis olarak yürütme.
-</listitem>
-
-<listitem>
-I/O completion portlarını, uyarı methodu olarak kulanmak.
-</listitem>
-
-<listitem>
-Bir işçi işleminde (worker process) çoklu thread (yürütme birimi) kullanmak.
-</listitem>
-
-</list>
-
-</section>
-
-</article>
deleted file mode 100644
--- a/xml/tr/index.xml
+++ /dev/null
@@ -1,259 +0,0 @@
-<!DOCTYPE article SYSTEM "../../dtd/article.dtd">
-
-<article name="nginx"
-         link="/tr/"
-         lang="tr">
-
-
-<section>
-
-<para>
-nginx [engine x], <link url="http://sysoev.ru/en/">Igor Sysoev</link> tarafından yazılan bir HTTP, reverse proxy ve mail proxy sunucusudur. 5 yıldır, özellikle Rus sitelerinde yoğun bir şekilde kullanılmaktadır. Örneğin;
-<link url="http://www.rambler.ru">Rambler</link>
-(<link url="http://ramblermedia.com">RamblerMedia.com</link>).
-Netcraft'a göre, nginx, <link url="http://news.netcraft.com/archives/2010/04/15/april_2010_web_server_survey.html">Nisan 2010 itibari ile %4.70</link> oranında kullanılmaktadır.
-Bazı başarı hikayeleri (İngilizce):
-<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>
-Kaynak kodu, <link url="/LICENSE">2-clause BSD-like license</link> lisansı altındadır.
-</para>
-
-</section>
-
-
-<section id="basic_http_features"
-        name="Temel HTTP özellikleri">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Statik ve index dosyalarının sunumu, otomatik indeksleme;
-açık dosya açıklayıcı önbellek;
-</listitem>
-
-<listitem>
-Önbellek ile hızlandırılmış reverse proxying;
-basit yük dengeleme ve hata toleransı;
-</listitem>
-
-<listitem>
-Uzak FastCgi sunucularının önbelleklenmesi ile hızlandırılmış destek;
-basit yük dengeleme ve hata toleransı;
-</listitem>
-
-<listitem>
-Modüler yapı.
-Gzip, byte aralıkları, yığın cevaplar (chunked responses), XSLT, SSI, imaj boyutlandırma gibi filtreler.
-FastCGI veya proksilenmiş sunucular ile tek bir sayfada çoklu SSI içermelerinin paralel işlenmesi.
-</listitem>
-
-<listitem>
-SSL ve TLS SNI desteği.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="other_http_features"
-        name="Diğer HTTP özellikleri">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Ad ve IP tabanlı sanal sunucular;
-</listitem>
-
-<listitem>
-Keep-alive ve pipelined bağlantı desteği;
-</listitem>
-
-<listitem>
-Esnek yapılandırma;
-</listitem>
-
-<listitem>
-İstemci işlemlerinde kopma olmadan yeniden yapılandırma ve online güncelleme;
-</listitem>
-
-<listitem>
-Erişim kayıt (log) formatları, tamponlanmış kayıt yazımı ve hızlı kayıt devri;
-</listitem>
-
-<listitem>
-3xx-5xx hata kod yönlendirmeleri;
-</listitem>
-
-<listitem>
-rewrite modülü;
-</listitem>
-
-<listitem>
-İstemcinin IP adresine dayalı erişim kontrolü ve HTTP temel kimlik denetleme;
-</listitem>
-
-<listitem>
-PUT, DELETE, MKCOL, COPY ve MOVE methodları;
-</listitem>
-
-<listitem>
-FLV streaming;
-</listitem>
-
-<listitem>
-Hız sınırlandırma;
-</listitem>
-
-<listitem>
-Bir adresten gelen eşzamanlı bağlantı ve talepleri sınırlandırma.
-</listitem>
-
-<listitem>
-Gömülü perl.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="mail_proxy_server_features"
-        name="Mail proxy sunucu özellikleri">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Harici bir HTTP kimlik denetleme sunucusunu kullanarak, kullanıcıyı IMAP/POP3 backend'ine yönlendirme;
-</listitem>
-
-<listitem>
-Harici bir HTTP kimlik denetleme sunucusunu kullanarak, kullanıcıyı SMTP backend'ine yönlendirme ve kullanıcı kimlik denetlemesi;
-</listitem>
-
-<listitem>
-Kimlik denetleme methodları:
-
-<list type="bullet">
-
-<listitem>
-POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
-</listitem>
-
-<listitem>
-IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
-</listitem>
-
-<listitem>
-SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
-</listitem>
-
-</list>
-</listitem>
-
-<listitem>
-SSL desteği;
-</listitem>
-
-<listitem>
-STARTTLS ve STLS desteği.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="architecture_and_scalability"
-        name="Yapı ve ölçeklenebilirlik">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Bir ana işlem (main process) ve çok sayıda işçi işlemleri (workers).
-İşçiler, imtiyazsız kullanıcı olarak yürütülürler;
-</listitem>
-
-<listitem>
-Uyarı methodları: 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 ve poll;
-</listitem>
-
-<listitem>
-Çeşitli kqueue özellikleri desteği: EV_CLEAR, EV_DISABLE
-(event'i geçici olarak etkisizleştirir), NOTE_LOWAT, EV_EOF, olanaklı data sayısı,
-hata kodları;
-</listitem>
-
-<listitem>
-sendfile (FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5), sendfile64 (Linux 2.4.21+),
-ve sendfilev (Solaris 8 7/01+) desteği;
-</listitem>
-
-<listitem>
-File AIO (FreeBSD 4.3+, Linux 2.6.22+);
-</listitem>
-
-<listitem>
-Accept-filters (FreeBSD 4.1+) ve TCP_DEFER_ACCEPT (Linux 2.4+) desteği;
-</listitem>
-
-<listitem>
-10,000 inaktif HTTP keep-alive bağlantısı yaklaşık 2.5M hafıza kullanır;
-</listitem>
-
-<listitem>
-Data kopyalama operasyonları minimum düzeydedir.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="tested_os_and_platforms"
-        name="Test edilen işletim sistemleri ve platformlar">
-
-<para>
-<list type="bullet">
-
-<listitem>
-FreeBSD 3&mdash;8 / i386; FreeBSD 5&mdash;8 / amd64;
-</listitem>
-
-<listitem>
-Linux 2.2&mdash;2.6 / i386; Linux 2.6 / amd64;
-</listitem>
-
-<listitem>
-Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
-</listitem>
-
-<listitem>
-MacOS X / ppc, i386;
-</listitem>
-
-<listitem>
-Windows XP, Windows Server 2003.
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-</article>
--- a/xsls/article.xsls
+++ b/xsls/article.xsls
@@ -38,10 +38,6 @@ X:include href = "versions.xslt";
 X:template = "/article | /module" {
     <html>
 
-    X:if "@lang = 'he'" { X:attribute "dir" { X:text{rtl} } }
-
-    X:if "@lang = 'cn'" { X:attribute "lang" { X:text{zh-CN} } }
-
     <head>
 
     <title> !{@name} </title>
--- a/xsls/body.xsls
+++ b/xsls/body.xsls
@@ -7,20 +7,11 @@ X:stylesheet {
 
 X:template body (lang) {
 
-    X:variable MENU_ALIGN = {
-        X:if "$lang = 'he'" { X:text {left} } else { X:text {right} }
-    }
-
-    X:variable INDEX_ALIGN = {
-        X:if "$lang = 'he'" { X:text {right} } else { X:text {left} }
-    }
-
     <body>
 
     <div id="main">
     <div id="menu">
         <h1>
-            X:if "@lang = 'he'" { X:attribute "align" { X:text{left} } }
             <a href="/">
                 <img src="/nginx.png" alt="nginx" />
             </a>
@@ -42,8 +33,6 @@ X:template body (lang) {
         {
             <span>
 
-            X:if "@lang = 'he'" { X:attribute "class" { X:text{ltr} } }
-
             <blockquote class="note">
 
             X:if "document(concat($XML, '/i18n.xml'))
@@ -60,7 +49,7 @@ X:template body (lang) {
         }
 
         X:if "@toc = 'yes' and section[@id and @name]" {
-            <table width="100%"><tr><td align="{$INDEX_ALIGN}">
+            <table width="100%"><tr><td>
             X:for-each "section[@id and @name]" {
                 <a href="#{@id}"> !{@name} </a><br/>
                 X:for-each "section[@id and @name]" {
--- a/xsls/style.xsls
+++ b/xsls/style.xsls
@@ -100,26 +100,6 @@ X:template style (lang) {
                             height:100%; }
         ') }
 
-    X:if "$lang = 'he'" {
-        !{ normalize-space('
-        pre               { text-align:     left;
-                            direction:      ltr; }
-        code              { direction:      ltr;
-                            unicode-bidi:   embed; }
-        .ltr              { direction:      ltr;
-                            unicode-bidi:   embed; }
-        ') }
-    }
-
-    X:if "$lang = 'cn'" {
-        !{ normalize-space('
-        p                 { text-align:     left; }
-        li                { text-align:     left; }
-        dd                { text-align:     left; }
-        blockquote.note   { text-align:     left; }
-        ') }
-    }
-
     </style>
 }