【问题标题】:Port forwarding on Windows 7Windows 7 上的端口转发
【发布时间】:2011-04-12 20:51:48
【问题描述】:

如何在 Windows 7 上将端口 xxx 上的传入请求重定向到 localhost:yyy?

Development Server (vs 2008) 只允许从 localhost 进行访问,这还不够好。我需要在不同的计算机上测试我的应用。

【问题讨论】:

    标签: c# asp.net windows-7 portforwarding


    【解决方案1】:

    感谢大家的建议,虽然我自己找到了答案。

    我下载了 Microsoft SOAP Toolkit 版本 3 并启动了 MSSoapT,在端口 8080 上创建了一个格式化跟踪侦听,转发到主机:127.0.0.1 端口:3804。我的问题是我使用了“localhost”而不是“127.0.0.1”。

    现在,从其他计算机通过端口 8080 向我的开发计算机发出的每个请求都将重定向到端口 3804,其中 ASP.NET 开发服务器在调试 VS.NET webapps 时静态设置为侦听。

    【讨论】:

    • @:非常感谢。真的很好,它也解决了我的问题...... :)
    【解决方案2】:

    在命令提示符下。

    $> netsh
    $> interface portproxy
    $> add v4tov4 listenport=xxx connectaddress=127.0.0.1 connectport=yyy protocol=tcp
    

    见:http://technet.microsoft.com/en-us/library/cc776297%28WS.10%29.aspx#BKMK_1

    【讨论】:

    • 完美运行,无需安装其他软件!但是,我假设它会在系统重新启动时重置。您可以像 netsh interface portproxy add v4tov4 ... 这样在一行中执行此操作(对于登录脚本),但我对 Windows 的了解还不够好,不知道如何在登录(并运行启动脚本)之前将其设为系统默认值。
    • 这不适用于我的带有 localhost 的 Win7 系统;如果我不指定连接地址,或者使用公共 ip 作为连接地址,它就可以工作。但是指定 127.0.0.1 不会返回错误,但 comp 没有在指定的端口上侦听。
    【解决方案3】:

    如果这确实是为了进行某些测试,您可以创建一个侦听端口的服务器,当它接收到传入连接时会生成一个线程,该线程会打开与实际本地服务器的连接,然后等待数据到来在任一端并将其洗牌到另一端。如果任一套接字关闭,工作线程将终止。这显然不是一个可扩展的解决方案,但为了测试它应该很容易做到这一点。

    【讨论】:

    • 是的,但作为开发人员我很懒惰。所以我想知道这个工具是谁写的,在哪里可以找到它;-)
    【解决方案4】:

    不太确定您在寻找什么。但是,当您有一个路由器并且您需要将特定路由器端口上的请求显式转发到 LAN 计算机上的特定 IP 和端口时,端口转发将是相关的。如果您想从同一网络上的其他 LAN 计算机访问 Web 服务器,那么 http://ip-address 应该可以正常工作。还要确保您的 Web 服务器正在侦听 LAN IP,而不仅仅是绑定到 localhost。

    【讨论】:

    • 假设我有一个在 VS.NET 中开发的 WEB 应用程序,在调试模式下运行。这将在 Windows 上启动一个名为 ASP.NET Development Server 的应用程序,并在端口 3804 上进行侦听。现在我需要某种代理/端口转发工具来接受不同端口上的传入请求,例如 8080 - 并触发针对“localhost:3804”的请求。这将迫使开发服务器“认为”请求来自本地主机而不是远程机器。问题是 ASP.NET 开发服务器只允许来自它正在运行的同一台机器的请求。
    • 你不能在 IIS 上运行你的网络应用吗?
    • 如果您无法在 Windows 7 上安装 IIS,那么安装 Apache 并在代理模式下运行它可能会更容易。 Apache 将在哪里提供来自 localhost:3804 的内容。您可以在 window 上轻松设置 Apache,然后查看 mod_proxy 模块。
    • 在开发和调试时,我通过移动设备也连接到我的局域网进行测试,所以我不想一直浪费时间部署应用程序。
    • 谢谢,我相信你的建议会奏效——虽然它确实需要很多努力来设置。请参阅下面的答案。
    【解决方案5】:

    我使用的是 Windows 7 64 位,无法让 Microsoft SOAP 工具包在我的机器上进行端口转发,并且不喜欢我在那里找到的免费端口转发软件,所以我只是更改了我的 VS 2010 网络使用本地 iis 的应用程序,我知道这对运行 2008 的人没有帮助,但如果你有 2010,它可以工作...这是我的更改的屏幕截图:我这样做是为了在 iPad 上进行测试...

    【讨论】:

      猜你喜欢
      • 2015-06-27
      • 1970-01-01
      • 2016-06-22
      • 2012-07-16
      • 2014-01-15
      • 2012-09-17
      • 1970-01-01
      • 2015-06-28
      • 2023-03-12
      相关资源
      最近更新 更多