The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"перенаправление трафика в зависимости от URL"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (nginx)
Изначальное сообщение [ Отслеживать ]

"перенаправление трафика в зависимости от URL"  +/
Сообщение от Alting email(ok) on 18-Фев-15, 16:23 
Коллеги, совсем не моя тема. Гуглил, гуглил - такие простые случаи не рассматриваются.

Итак: есть клиенты. У них, как и положено, стоит какая-то древнючая ISA.
Снаружи проброшен порт 8000 на nginx, который стоит в DMZ.
За ним - еще два сервера.
Задача такая:
при обращении по имени serverA.kontora.com - nginx перебрасывает трафик со своего порта 8000 на сервер A порт 8080.
при обращении по имени serverB.kontora.com - nginx перебрасывает трафик со своего порта 8000 на сервер B порт 8090.

Я уже даже почти пробросил, но почему-то URL serverA.kontora.com при попытке проброса меняется на nginx.kontora.com и отбрасывается порт 8000.

80-й порт задействовать нет возможности - он занят.

ISA.kontora.com, nginx.kontora.com, serverA.kontora.com, serverB.kontora.com - все прописаны в DNS как А записи.

Помогите с конфигом, пожалуйста!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "перенаправление трафика в зависимости от URL"  +/
Сообщение от PavelR (??) on 19-Фев-15, 00:15 
> при обращении по имени serverA.kontora.com - nginx перебрасывает трафик со своего порта
> 8000 на сервер A порт 8080.
> при обращении по имени serverB.kontora.com - nginx перебрасывает трафик со своего порта
> 8000 на сервер B порт 8090.

Это ужасТно. Для счастливой и безболезненной работы рекомендую, чтобы порты были везде одинаковыми (8000 в вашем случае).

> Я уже даже почти пробросил, но почему-то URL serverA.kontora.com при попытке проброса
> меняется на nginx.kontora.com и отбрасывается порт 8000.

1) Для безболезненной работы рекомендую, чтобы порты были везде одинаковыми (8000 в вашем случае).
2) Админам в работе очень помогают логи. Обычно. Иногда. Админам.
3) Сайт на ISA-сервере А должен откликаться на имя serverA.kontora.com. Несмотря на то, что доменная запись serverA.kontora.com будет смотреть в какое-то другое место.
3.1) Сервер Б - аналогично.
3.2) Конфиг nginx должен быть правильным.

> Помогите с конфигом, пожалуйста!

Правильный вопрос содержит половину ответа. Насколько ваш вопрос содержит эту половину ответа, настолько я вам и ответил.


>Коллеги, совсем не моя тема. Гуглил, гуглил - такие простые случаи не рассматриваются.

Рассматриваются всякие случаи, и даже такие простые. Просто видимо совсем "не моя тема" и не понятно, что спрашивать. Уже даже и не говорю о том, что можно посмотреть в HTTP-заголовки tcpdump-ом.... Пока еще можно.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "перенаправление трафика в зависимости от URL"  +/
Сообщение от Alting email(ok) on 19-Фев-15, 16:08 
>[оверквотинг удален]
> то, что доменная запись serverA.kontora.com будет смотреть в какое-то другое место.
> 3.1) Сервер Б - аналогично.
> 3.2) Конфиг nginx должен быть правильным.
>> Помогите с конфигом, пожалуйста!
> Правильный вопрос содержит половину ответа. Насколько ваш вопрос содержит эту половину
> ответа, настолько я вам и ответил.
>>Коллеги, совсем не моя тема. Гуглил, гуглил - такие простые случаи не рассматриваются.
> Рассматриваются всякие случаи, и даже такие простые. Просто видимо совсем "не моя
> тема" и не понятно, что спрашивать. Уже даже и не говорю
> о том, что можно посмотреть в HTTP-заголовки tcpdump-ом.... Пока еще можно.

Ваш сарказм понимаю и принимаю. Просто вот такой там админ. А я уже лет 10 как отошел от этого - все больше бумажки, совещания, планирования, бюджет и прочая ерунда.
Нашел мануалы, читаю. Порты, да, согласен - сделаю везде 8000.
Просто там много уже накосячить тот админ успел.
Акционеры понимают, кивают, соглашаются, но..
"Ты ж у нас гений - ты справишься!" (((

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "перенаправление трафика в зависимости от URL"  +/
Сообщение от erera22 (ok) on 20-Фев-15, 14:12 
Несмотря на комменты выше, никакой разницы нет в том, где и какие порты на back-end'ах. В Вашем случае, скорее всего, надо смотреть .htaccess на машине "А". Видимо, там rewrite.

Это не простой случай, а банальнейший: работа с доменами 3его уровня. Тут даже не надо URL проверять. Всего лишь прописывайте server_name.

server {
   listen 80;
   server_name serverA.kontora.com;

   location / {
      proxy_pass http://A:8080;
      ...
   }
}

server {
   listen 80;
   server_name serverB.kontora.com;

   location / {
      proxy_pass http://B:8090;
      ...
   }
}

server { ... }

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "перенаправление трафика в зависимости от URL"  +/
Сообщение от PavelR (??) on 21-Фев-15, 23:30 
> Несмотря на комменты выше, никакой разницы нет в том, где и какие
> порты на back-end'ах.

Несмотря на коммент выше, разница есть.

В частном случае наличие или отсутствие разницы зависит от настройки и поведения бэкенда.

Бэкенд берет и видит, что он живет на порту 8090. Исходя из этого генерит контент.
В котором могут быть ссылки с портом. В частном случае - с портом 8090. А доступны они должны быть по порту 8080.

Резюмирую: разница есть, и совпадение порта бэкенда и порта фронтенда решает некоторое количество проблем. Серых и локальных 127/8 IP-адресов хватит всем.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "перенаправление трафика в зависимости от URL"  +/
Сообщение от erera22 (ok) on 24-Фев-15, 01:47 
> Бэкенд берет и видит, что он живет на порту 8090. Исходя из
> этого генерит контент.
> В котором могут быть ссылки с портом. В частном случае - с
> портом 8090. А доступны они должны быть по порту 8080.

шта? О_о что он берет? бэк-энд что-то там особенное генерит в зависимости от чего? То есть сервер "А" на порту 8080 - это нечно совсем-совсем не то, что на порту 8090? Отличается поведение, повадки, свойства...??? Какой вообще смысл могла нести Ваша фраза???

В частном, особенном (или печальном) случае, есть proxy_redirect или  proxy_set_header        Host $host:$server_port;

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "перенаправление трафика в зависимости от URL"  +/
Сообщение от PavelR (??) on 21-Фев-15, 23:32 
> Это не простой случай, а банальнейший: работа с доменами 3его уровня.

Несмотря на коммент выше, никакой разницы в том, какого уровня домен - второго, третьего или четвертого - нет.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру