在企业环境中通过 VPN 访问网页时出现问题
我的操作系统是windows7 64位。 我在公司环境中。为了获得互联网连接,我将 IE 配置为使用自动配置代理脚本。 此外,我还连接到外部公司的拨号 VPN(通过互联网)。当连接到 VPN 时,我看到我的主机文件被修改,并且路由打印也被更改。 VPN 拨号连接使用另一个代理自动配置脚本(在拨号和 VPN 设置下)。 我可以看到两个自动配置脚本的内容以及路线打印信息。
我有一个 .Net1.1 winforms 应用程序,它使用 WebClient 从 Web 服务器下载 xml 文件。
当连接到 VPN 时: winforms 应用程序无法下载该文件(“无法访问服务器”错误)。 如果我在 IE 中浏览到相同的 URL,我就可以下载该文件。 此外,当我启动 Fiddler 检查 http 会话时,winforms 应用程序能够下载 xml 文件。 运行netsh->proxy,system32和SysWow64版本显示Direct access。
我怀疑这个问题在某种程度上与代理配置有关,但我不知道先看哪里。
任何帮助整理事情的帮助都将非常感激......
My OS is windows7 64 bits.
I'm in a corporate environment. In order to have internet connectivity I have IE configured to use a automatic configuration proxy script.
Additionally I connect into an external company dial-up VPN (via internet). When connecting into the VPN I see that my hosts file are modified and the route print is changed too. The VPN dial-up connection uses another proxy automatic configuration script (under dial-up and VPN settings).
I'm able to see the contents of the two automatic configuration scripts as well as the route print info.
I have a .Net1.1 winforms app that uses WebClient to download an xml file from a web server.
When connected into the VPN:
The winforms app is not able to download the file ("server cannot be reached" error).
If I browse to the same URL within IE I'm able to download the file.
Moreover when I start Fiddler to inspect the http sessions, the winforms app is able to download the xml file.
Running netsh->proxy, system32 and SysWow64 versions show Direct access.
I suspect the problem is somehow related to proxy configurations but I don't know where to look first.
Any help on putting things in order would be really apreciated...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
该问题可能是由于您的 Windows7 计算机上的 TCP 调整造成的。请尝试以下操作,然后重新启动计算机。
单击“开始”按钮。
在搜索框中,键入命令提示符。命令提示符将显示在
搜索结果。
右键单击命令提示符图标并选择以管理员身份运行。
输入管理员凭据,您就可以开始了。
进入提升的命令提示符后:
键入以下所有命令,然后在每条命令后单击 Enter。
netsh int tcp 设置全局自动调整级别=禁用
netsh int tcp 设置全局自动调整级别=
禁用 netsh 接口 tcp 设置全局 rss=禁用
netsh 接口 tcp 设置全局自动调整级别=禁用
netsh 接口 tcp 设置全局拥塞提供程序=无
The problem could be a result of TCP tuning on you windows7 machine. Try the following then restart your computer.
Click on Start button.
In the Search box, type in Command Prompt. Command Prompt will show up in
the search results.
Right click on Command Prompt icon and select Run as administrator.
Enter the admin credential and you are ready to go.
Once you get to the elevated command prompt:
Type all the commands below and click enter after each one.
netsh int tcp set global autotuninglevel=disabled
netsh int tcp set global autotuninglevel=disabled
netsh interface tcp set global rss=disabled
netsh interface tcp set global autotuninglevel=disabled
netsh interface tcp set global congestionprovider=none
仅供参考,
事实证明 .net Framework 1.1 WebClient 无法理解其默认设置中的自动代理配置:
一种可能的解决方法是在配置文件中手动添加代理地址
Just for reference,
It turns out that .net framework 1.1 WebClient doesn't understand automatic proxy configuration within its defaults settings:
One posible workaround is to manually add the proxyadress in the config file