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

Как перенаправить порт 80 на другой порт на той же машине?

Как я могу перенаправить запросы, поступающие на порт 80, на другой порт той же Linux-машины?

Раньше я делал это, меняя nat.conf, но на этой машине нет NAT. Какая альтернатива?

Вы можете выполнить перенаправление с помощью iptables:

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

Просто оказался в этом вопросе и не мог найти простого пути. Не хочу устанавливать Nginx на моем компьютере, чтобы выполнять эту простую переадресацию портов.

Rinetd не работал у меня, нет рабочего пакета для моего дистрибутива. Я пошел за socat вместо. Супер просто:

socat TCP-LISTEN:80,fork TCP:127.0.0.1:5000

Должен быть запущен как root чтобы иметь возможность слушать порт 80.

Вы должны посмотреть на использование обратный прокси, Такие как Nginx. Например, вы можете поместить что-то подобное в свой nginx.conf файл:

server {
    listen         80;

    server_name    your_ip_address your_server_name

    access_log   /var/log/nginx/your_domain/access.log ;
    error_log    /var/log/nginx/your_domain/error.log info ;

    location / {
        proxy_pass  http://127.0.0.1:3000;   # pass requests to the destination
    }
}