Используя файл hosts, я не могу сделать что-то вроде этого:
127.0.0.1:8080 testing
Поэтому мне придется написать
127.0.0.1 testing
http://testing:8080
чтобы сделать то же самое.
Проблема в том, что мне нужно иметь доступ к IP без входа в какой-либо порт. Есть ли у меня варианты, чтобы сделать это?
Файл hosts только связывает имена хостов с IP-адресами.
По умолчанию HTTP работает через порт 80. Таким образом, привязав имя хоста к 127.0.0.1 и затем нажав имя хоста в вашем браузере (через HTTP), вы подразумеваете порт 80.
Вам потребуется настроить прокси-сервер, который будет прослушивать порт 80 и перенаправлять запросы на порт 8080. Ваш веб-сервер все равно должен будет работать на порту 8080.
Вы можете настроить обратный прокси-сервер для обслуживания на порту 80 и пересылать все запросы на 8080.
Apache - один из веб-серверов, который может сделать это за вас. Есть базовая пример обратного проксирования в документации mod_proxy.
Файл hosts должен связать имя с IP.
Вы хотите использовать брандмауэр.
Или вы настраиваете приложение для работы на 80 вместо 8080.
С помощью iptables вы можете сделать что-то вроде:
iptables -t nat -I PREROUTING -p tcp -i eth0 -d 127.0.0.1 --dport 8080 -j DNAT --to-destination 127.0.0.1:80
Вам нужны дополнительные привилегии для прослушивания портов ниже 1000, вероятно, поэтому вы слушаете порт 8080, а не порт 80. Вы можете настроить обратный прокси-сервер, используя Apache, Squid, Varnish или другие различные прокси.
Или вы можете просто заставить программное обеспечение прослушивать порт 80, позволив ему повысить привилегии и передав правильные параметры. Какое программное обеспечение? Вероятно, мы сможем помочь вам заставить его прослушивать порт 80.