view xml/ru/docs/virtual_hosts.xml @ 76:4a4caa566120

Russian documentation import. Changes in module.dtd: <example> now allowed to contain <value> and <emphasis> elements (we need this to show important parts in examples), less strict checking of <directive> syntax (we don't want to fully document some directives, notably deprecated ones). Known issues: 1. <syntax> elements are preserved as is, they will require manual conversion (likely to some not-yet-existed format a la DocBook cmdsynopsis, as currently used one seems to be incomplete); 2. <value> no longer corresponds to replaceable content, and it's use in examples isn't correct; 3. <link doc="document#fragment"> doesn't work with current xslt, either should be supported or changed to <link doc="document" id="fragment">. The following files are intentionally omitted: maillists.xml (support.xml should be used instead), experimental.xml (obsolete), faq.xml (conflicts with existing one, needs discussion). Not yet linked to site.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 11 Oct 2011 12:57:50 +0000
parents
children 7db449e89e92
line wrap: on
line source

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

<article title="Настройка виртуальных серверов"
         link="/ru/docs/virtual_hosts.html"
         lang="ru">

<section>

<para>
Настраивать виртуальные сервера очень просто. В каждом сервере нужно описать
все адреса и порты, на которых нужно принимать соединения для этого сервера,
и все имена серверов. Рассмотрим следующую конфигурацию:
<programlisting>
http {

    server {
        listen  192.168.10.1;
        listen  192.168.10.1:8000;

        server_name   one.example.com  www.one.example.com;

        ...
    }

    server {
        listen  192.168.10.1;
        listen  192.168.10.2:8000;
        listen  9000;

        server_name   two.example.com  www.two.example.com
                      three.example.com  www.three.example.com;

        ...
    }

    server {
        listen  9000;

        server_name   four.example.com  www.four.example.com;

        ...
    }

}
</programlisting>
</para>

<para>
При такой настройке запрос, пришедший на 192.168.10.1:80 с заголовком
"Host: www.three.example.com", будет обслужен вторым сервером.
Если в запросе нет заголовка "Host" или же в нём указано имя, неописанное
ни в одном сервере, слушающем на адресе и порту, на которые пришёл запрос,
то запрос будет обслужен сервером, у которого первым описаны эти адрес и порт.
Например, все запросы без заголовка "Host", пришедшие на 9000 порт,
будут обслужены вторым сервером (two.example.com).
То же самое произойдёт и с запросом с заголовком "Host: www.one.example.com",
пришедшим на 9000 порт.
Для гибкой настройки серверов по умолчанию можно использовать параметр
default в директиве listen.
</para>

</section>

</article>