如何将“localhost:8080”映射到“localhost”?

使用主机文件,我不能做这样的事情:

127.0.0.1:8080 testing 

所以我必须写

 127.0.0.1 testing http://testing:8080 

为了做同样的事情。

问题是我需要能够访问IP而无需input任何端口。 我有任何select做这样的事情吗?

您可以设置反向代理服务于端口80,并将所有请求转发至8080。

Apache是​​可以为你做这个的Web服务器之一。 在mod_proxy文档中有一个基本的反向代理示例 。

主机文件仅将主机名称绑定到IP地址。

默认情况下,HTTP通过端口80运行。因此,通过将主机名绑定到127.0.0.1,然后在浏览器中通过HTTP访问主机名,则意味着端口80。

您需要设置一个代理服务器,监听端口80,并将请求转发到端口8080.您的Web服务器仍然需要在端口8080上运行

hosts文件是将一个名字关联到一个ip。
你想做什么是防火墙的责任。
或者您将应用程序configuration为在8080而不是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端口上收听。