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

Перенаправление исходящего трафика на другой порт

Приложение в моем Linux-сервере подключается к "ip.example.com".

IP-адрес для "ip.example.com" определен в / etc / hosts как

10.23.22.1 ip.example.com

На IP-адресе назначения служба работает на порту 8080. Однако приложение пытается подключиться 10.23.22.1:80 и это не удается. Невозможно изменить IP-адрес назначения или приложение, работающее локально.

Я хочу перенаправить исходящий трафик из 10.23.11.1:80 к 10.23.22.1:8080 в моем местном ящике.

Можно ли этого добиться в таблицах ip?

Да, можно использовать такое правило:

iptables -t nat -A OUTPUT -p tcp --dport 80 -d 10.23.11.1 -j DNAT --to-destination :8080

Если это не принцип использования iptables, я бы посоветовал использовать nginx (или другой веб-сервер) и модуль пути прокси:

location / {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_set_header X-Forwarded-Proto https;
  proxy_redirect off;
  proxy_connect_timeout 9999h;
  proxy_send_timeout 240;
  proxy_read_timeout 9999h;
  proxy_pass http://10.23.22.1:8080;
}