Назад | Перейти на главную страницу

Внутреннее перенаправление на основе URL

По сути, у нас есть один внешний IP-адрес, несколько внутренних серверов, и мы хотим перенаправить на каждый внутренний сервер на основе URL-адреса запроса. Мы не хотим устанавливать другое оборудование, чтобы делать это за нас, но у нас есть брандмауэр под управлением Linux, который в настоящее время пересылает трафик только на один из внутренних серверов. Пример нашей установки можно увидеть здесь: http://img23.imageshack.us/img23/5469/drawing1br.jpg ПРИМЕЧАНИЕ: domain.com не указывает на это поле, и мы бы этого не хотели. Поддомены указываются вручную на наш глобальный IP-адрес.

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

    # a simple backend
    backend b1 {
            set backend.host = "10.1.2.100";
            set backend.port = "http";
    }
    backend b2 {
            set backend.host = "10.1.2.101";
            set backend.port = "http";
    }
    backend b3 {
            set backend.host = "10.1.2.102";
            set backend.port = "http";
    }

    sub vcl_recv {
        if (req.http.host ~ "^(www.)?example.com$") {
            set req.backend = b1;
         }

         if (req.http.host ~ "^(www.)?example.org$") {
            set req.backend = b2;
         }

         if (req.http.host ~ "^(www.)?example.net$") {
            set req.backend = b3;
         }
    }