Вам нужно использовать OUTPUT цепочку в качестве пакетов, предназначенных для обратная петля интерфейс не проходит через PREROUTING цепь. Следующее должно сработать; запустите как root:
iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8080
Просто просто используйте iptables, разрешающие оба порта 80 и 8080, затем перенаправьте 80 на 8080, убедитесь, что вы назначаете правильный сетевой адаптер .. в примере я использую eth0
я бы предположил, что это потому, что пользователь, не являющийся root, не может привязаться к портам 80/443, и он не хочет запускать свою веб-службу от имени root…
@mattdipasquale, обычные пользователи не могут получить доступ к порту 80, поэтому вы не смогли запустить веб-службу, такую как python flask, как обычный пользователь.