【问题标题】:Connect remotely to WebDev.WebServer.exe远程连接到 WebDev.WebServer.exe
【发布时间】:2009-03-25 19:47:49
【问题描述】:
  1. 开发一个 ASP.Net 网站。
  2. 运行 IE8。
  3. 需要在IE6下测试网站。
  4. MultipleIE6 安装被 IE8 安装破坏(无法输入文本框,是的,我删除了缓存,是的,我重新注册了 dll)。
  5. 创建了运行 IE6 的 VPC。
  6. 无法连接到主机 WebDev.WebServer.exe。

有什么方法可以配置 WebDev.WebServer.exe 使其接受远程连接?

【问题讨论】:

    标签: asp.net visual-studio internet-explorer webdev.webserver


    【解决方案1】:

    webdev.webserver 无法拒绝远程请求的解决方法是使用与 webdev.webserver 在同一主机上运行的轻量级代理服务器。然后,远程浏览器使用代理,它的请求在 webdev.webserver 上看起来就像来自 localhost 的请求一样。我已经成功使用了Privoxy

    示例配置:

    • 配置 Privoxy 以侦听 IP 可从您的 VM 路由的地址 (例如 192.168.1.1:8118)。您可以将 IP 地址放在主机操作系统的回送上,并在客户端操作系统中使用 NAT。
    • 在 VM 中配置您的浏览器以使用 192.168.1.1:8118 为其代理所有连接,包括本地主机。
    • 在 webdev.webserver 中启动您的应用程序
    • 使用 VM 浏览器访问与使用主机操作系统上的浏览器相同的 URL(例如 http://localhost:3254

    从 webdev.webserver 的角度来看,请求将来自 127.0.0.1 上的 Privoxy,它会很乐意为它们提供服务。

    更新 这些天,我为此使用 Fiddler2。 Fiddler 在工具 > 选项 > 连接中有一个“允许远程计算机连接”选项。但也请注意,IISExpress 可以配置为接受远程连接。

    【讨论】:

    • 请务必注意,如果您在防火墙中为 Privoxy(用于 TCP 请求)打开端口 (8118),其他计算机可以向您的 WebDev.WebServer 发出请求。此外,Privoxy 所需的唯一配置是在主配置中找到 listen-address 配置并将其设置为适当的值 (listen-address 192.168.1.1:8118)。它工作得非常好,而且设置起来并不难。
    • FWIW。我在这里发布了设置的分步说明:thoughtfulcode.wordpress.com/2009/11/13/…
    • 这个策略的一个变种是在你的主机系统上运行一个像 WinSSHD 这样的 SSH 服务器,然后使用一个 ssh 客户端通过 SSH 创建一个 SOCKS4 代理或者做简单的 SSH 端口转发(-L in打开)。
    • 这个在 VPC 上带有 XP SP3 的 privoxy + NAT 解决方案在 IE6 上运行良好,但后来我安装了 IE7,以同样的方式配置代理,但它停止工作。我收到“Internet Explorer 无法显示网页”消息。代理和开发服务器仍在运行。有谁知道如何使它与 IE7 一起工作?
    • 您是否尝试过在 IE7 中使用 http://localhost./(注意 '.' 附加到 localhost)?
    【解决方案2】:

    AFAIK,WebDev 被编码为专门拒绝所有外部连接......所以简短的回答是“不”。

    最好的办法就是将网站发布到运行 IIS 的 VPC 并以这种方式进行测试。

    【讨论】:

    • 处理发布 IIS 甚至只是配置本地 IIS 来为每个项目提供服务都比较麻烦。您无法享受类似 Netbeans 的集成 Web 服务器,并且配置非管理员调试更加复杂。相反,您可以先配置一个个人代理,然后忘记它为什么工作。
    【解决方案3】:

    我遇到了同样的问题,经过一番研究,发现这个网站上详述的方法对我有用: http://www.funkymule.com/post/2009/04/17/Making-ASPNET-Development-Server-Listen-for-Remote-Connections.aspx

    它涉及修改和重新组装 Webdev 服务器和 DLL,但是一旦全部启动并运行,我就可以使用在 VPC/XP 模式下运行的旧版本 Internet Explorer 连接到在主机上运行的 WebDev 服务器机器通过内网IP(192.168.x.x)。

    【讨论】:

    • 在那篇文章的 cmets 线程中,一位用户解释了如何进行简单的端口转发。这似乎比破解 DLL 更易于维护...funkymule.com/post/2009/04/17/…
    • 这里是端口转发的命令行示例... netsh interface portproxy add v4tov4 listenport=2221 listenaddress=xxx.xxx.xxx.xxx connectport=2222 connectaddress=localhost
    【解决方案4】:

    嗯,我不确定这是否可行,但请尝试添加 WebDev.WebServer.exe 以从您的 Windows 防火墙中解除阻止。

    如果这不起作用,您必须安装 IIS 并直接在您的开发文件夹上设置一个虚拟目录。

    【讨论】:

      【解决方案5】:

      我使用 Microsoft 的 VPC 映像之一使用调试网络服务器测试 IE6,所以我不知道是什么导致了您的问题。听起来可能是虚拟机的网络问题。

      IEtester 也适用于快速检查渲染和功能。我还没有看到 IEtester 中的行为与 XP 下的真实 IE6 之间的行为有任何重大差异,但这种可能性存在,所以我仍然在发布到生产之前检查虚拟机。

      http://www.my-debugbar.com/wiki/IETester/HomePage

      【讨论】:

      • 这对我也不起作用 - Ariel,你的 VPC 配置是什么?你在运行 XP 模式吗?网络配置和集成设置是什么?你没有做任何其他事情,比如破解本地主机文件?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 2018-03-24
      相关资源
      最近更新 更多