Как преобразовать «localhost:8080» просто в «localhost»?

Как преобразовать «localhost:8080» просто в «localhost»?

Используя файл hosts, я не могу сделать что-то вроде этого:

127.0.0.1:8080 testing

Поэтому мне придется написать

127.0.0.1 testing
http://testing:8080 

для того, чтобы сделать то же самое.

Проблема в том, что мне нужно иметь возможность доступа к IP без ввода какого-либо порта. Есть ли у меня какие-либо варианты сделать это?

решение1

Вы можете настроить обратный прокси-сервер для обслуживания порта 80 и переадресации всех запросов на 8080.

Apache — один из веб-серверов, который может сделать это для вас. Существует базовыйпример обратного проксированияв документации mod_proxy.

решение2

Файл hosts привязывает имена хостов только к IP-адресам.

По умолчанию HTTP работает через порт 80. Таким образом, привязывая имя хоста к 127.0.0.1 и затем набирая имя хоста в браузере (через HTTP), вы подразумеваете порт 80.

Вам нужно будет настроить прокси-сервер, который будет прослушивать порт 80 и перенаправлять запросы на порт 8080. Ваш веб-сервер все равно должен будет работать на порту 8080.

решение3

Файл 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

решение4

Вам нужны дополнительные привилегии для прослушивания портов ниже 1000, поэтому, вероятно, вы прослушиваете порт 8080, а не порт 80. Вы можете настроить обратный прокси-сервер с помощью Apache, Squid, Varnish или различных других прокси-серверов.

Или вы можете просто заставить программное обеспечение прослушивать порт 80, позволив ему повысить привилегии и передав правильные параметры. Что это за программное обеспечение? Мы, вероятно, сможем помочь вам заставить его прослушивать порт 80.

Связанный контент