Создание другого сетевого прыжка сервера
По сути, я пытаюсь настроить свой сервер как "точку фильтра".
Если я сделаю трассировку на свой сервер, скажем, я получу:
- Хоп № 1
- Хмель № 2
- Хоп № 3
- Back-end (мой сервер IP)
Я хочу поставить свой сервер перед своим бэкэндом, возможно ли это сделать, не связываясь с центром обработки данных, не касаясь BGP или чего-то подобного? Так будет и так:
- Хоп № 1
- Хмель № 2
- Хоп № 3
- Мой сервер
- Back-конец
Я в основном хочу направить весь свой трафик через этот сервер до серверной части.
1 ответ
Если вы не (или не можете) манипулировать своей инфраструктурой на сетевом уровне, вы не сможете изменить результаты трассировки.
Однако вы все равно можете настроить конфигурацию, в которой трафик, связанный с пунктом назначения, проходит через промежуточный сервер с помощью прокси-программного обеспечения.
Популярный пример - nginx.
Например, у меня дома установлен прокси-сервер, который помогает обеспечить единую целевую страницу для нескольких служб на разных машинах. Из внешнего мира весь трафик связывается с прокси-сервером, а за прокси-трафиком перенаправляется на соответствующий сервер на основе сопоставления шаблонов URL.
В основном, установка выглядит так:
+---------+
| |
| Client |
| |
+---+-----+
|
v
+----------+
| |
| Internet |
| |
+---+------+
| +----------+
v | |
+-----> | Server A |
+-------+ | | |
| +-----> home.url/servicea + +----------+
| Proxy |
| +-----> home.url/serviceb + +----------+
+-------+ | | |
+-----> | Server B |
| |
+----------+
Прокси-сервер nginx проверяет URL-адрес, предоставленный клиентом, и перенаправляет его на правильный сервер на основе соответствующих правил.
Простое приближение конфигурации было бы:
server {
location /servera {
proxy_pass http://servera:80;
}
location /serverb {
proxy_pass http://serverb:80;
}
}