Приложение в моем 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;
}