我收到一位开发人员的请求,要求我解决问题。
他们在办公室中使用Linux桌面,我可以通过iptables nat将localhost:80转发到localhost:8080。在Windows 7中,他们想要的就是家里的东西。
我得到了我认为有两种解决方法。一种用于重新配置jboss网络服务器和所有webapps URL(混乱)的工具。另一个是找到一种将本地主机端口8080重定向/保留到端口80的方法。尽管在Windows 7中,我不确定如何执行此操作。
有人对第二种方法有想法吗?
我收到一位开发人员的请求,要求我解决问题。
他们在办公室中使用Linux桌面,我可以通过iptables nat将localhost:80转发到localhost:8080。在Windows 7中,他们想要的就是家里的东西。
我得到了我认为有两种解决方法。一种用于重新配置jboss网络服务器和所有webapps URL(混乱)的工具。另一个是找到一种将本地主机端口8080重定向/保留到端口80的方法。尽管在Windows 7中,我不确定如何执行此操作。
有人对第二种方法有想法吗?
Answers:
AFAIK,Win7没有等效的iptables。编写满足您需要的服务器(侦听端口,将所有内容复制到另一个端口或从另一个端口复制所有内容)应该足够容易。您可以在以下URL中找到一个:http : //www.quantumg.net/portforward.php(未经测试)。使用反向代理(Google是您的朋友)可能适合类似HTTP的流量。还请检查此帖子:https : //stackoverflow.com/questions/3721000/port-forwarding-on-windows-7
是的,Windows确实具有iptables等效项,它是通过工具netsh和portproxy接口实现的。
做你想做的命令
netsh interface portproxy add v4tov4 listenaddress=YOUR_IP_HERE listenport=8080 connectaddress=YOUR_IP_HERE connectport=80
请注意,这只会进行IPv4连接,如果您还想转发IPv6连接,则还需要
netsh interface portproxy add v6tov6 listenaddress=YOUR_IP_HERE listenport=8080 connectaddress=YOUR_IP_HERE connectport=80
add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080
假设您要在端口80上侦听并重定向到运行在8080上的非高架服务器,则需要切换侦听和连接端口。如果要同时响应网络IP和本地主机请求,请删除listenaddress。而且您可以重定向到127.0.0.1,以避免硬编码您的IP地址。
netsh interface portproxy show v4tov4
)或删除后代理(netsh interface portproxy delete v4tov4 listenaddress=localhost listenport=80
)
我认为Windows没有等效的iptables。命令
netsh interface portproxy ...
进行端口代理,但不进行数据包转发。主要区别是
我们一直在使用此技术进行端口转发,但是在发现这些发现之后,我们不得不在网络防火墙上使用其他规则以避免使用netsh。