如何正确设置开发服务器以在Intranet上使用

时间:2012-05-02 03:09:58

标签: .net iis networking asp-classic dns

抓住你的马,你可能会说这属于服务器故障,但我是从开发人员的角度问这个,而不是系统管理员。我可以得到各种各样的结果,并看到它在代码中的位置(种类)!我不是一个系统管理员,但我觉得其他开发人员可能会遇到同样的问题(我们这些人在没有IIS服务器管理员的小公司)。我在SF上提出了类似的问题,但他们并没有真正解决我的问题。

作为开发人员,我很难找到一种快速简便的方法来设置IIS / ASP开发服务器,供本地网络上的多个人使用。整个想法是让它不在现场机器上。它只是一台笔记本电脑在我们的办公桌上运行。

我觉得这很容易。我最初做的是 1)修复IP地址 2)在2020等不同的端口上编辑我的各个开发站点的绑定为10.0.1.115

这似乎在一段时间内运行良好。编码,编码,编码......但随着响应越来越大,我的C#页面越来越复杂,响应时间越来越长,奇怪的奇怪事情开始发生。 一些症状:

1)我会在Fiddler中看到一个与10.0.1.75错误的IP地址无关的请求。然后它会一遍又一遍地重试,阻止浏览器UI。我搜索了所有代码,所有主机文件,没有在任何地方引用此IP。这个请求似乎挂起了浏览器“等待10.0.1.75并且浏览器会旋转,即使在fiddler 原始请求已完成并且它实际下载了链接的CSS文件 !!! WTF?

2)响应时间慢。某些页面速度极慢。我将它放在全国各地的生产服务器上,加载速度提高了10倍。

3)真奇怪的事情:

   // C#:

   // I can see this before the odd request gets made! weird, right?
   Response.Write("hello"); 

   // then after see "hello", fiddler says request is made to some stupid unrelated ip    

   Response.Write(strOutput);
   // then I never see this output string (a bunch of HTML) rendered in the browser
   // it just spins on "hello" page asking for the wrong IP address in the gray status bar
   // BUT it shows up as proper HTML in fiddler, and also downloads all the CSS
   // that was referenced to by the HTML      

就像我说的,我可以将它部署到一个具有适当域名的网站,并且一切正常,使用基本上完全相同的webconfig!

我在另一个不同的网站上得到类似的奇怪/慢行为,这在生产中也可以正常工作(并且是完全不同的代码风格)。

是的,我在几台机器上使用和不使用代理都尝试过这种方法。

简单(简短的C#页面工作正常)。

永远深思熟虑,但这里没有真正的答案: https://serverfault.com/questions/216093/site-loads-very-slow-if-i-use-ip-and-works-normal-when-i-use-domain-name-why

我不在乎这是否会被投票,你称我为doofi。我一直在墙上撞了6个小时。

我不应该使用IP地址吗?我应该设置自己的DNS而不是仅使用固定IP吗?我不想弄乱我的网络并随机设置DNS ...呃。

更新

所以看起来它可能是主持人的事情?我查看了同一个开发服务器上的另一个应用程序,它将HTML链接文件的302重定向到错误的IP!但只是根,而不是整个文件名,如10.0.1.75而不是我可能期望的10.0.1.75/somejsfile.js。我的代码中没有任何地方可以做到这一点......使用固定IP有什么奇怪的吗?

这就解释了为什么页面不会渲染,因为DOM没有完全构建......

2 个答案:

答案 0 :(得分:1)

我不打算使用不同的端口。在DNS服务器中,为* .dev.mycompany.com添加一个条目以指向感兴趣的IP。如果您不想弄乱您的DNS,您可以修改C:/ Windows / System32 / Drivers / Etc / Hosts文件中的hosts文件如果您无权访问您的每个开发网站,请添加一个条目DNS服务器。如果你走这条路,你必须在每台开发机上做这件事。仅供参考,以管理员身份打开记事本并打开文件,然后在Vista中保存到权限问题。

在您的开发计算机的IIS设置中,将website1.dev.mycompany.com,website2.dev.mycompany.com添加到每个相应网站的绑定中。

然后,当您准备好生产时,您只需将website1.dev.mycompnay.com更改为website1.mycompany.com。您的DNS应该处理website1.mycompnay.com。您的DNS或您的主机文件可用于确定您的website1.dev.mycompany.com,具体取决于您的限制或您希望如何处理此问题。

换句话说,您不依赖于代码中任何位置的IP或端口。一切都在使用DNS解析。它只取决于您在公司DNS服务器上的解决方案...或使用hosts文件在每台开发机器上。

我为相对较小的公司工作,这就是我们如何解决这些问题。要么工作。 DNS是最灵活的,因为它不需要在每台开发机器上进行更改,但是当只有1-3位开发人员在网站上工作时,我们使用了主机文件方法。

另一方面,遗憾地说,我甚至使用生产SQL Server上的主机文件来访问网络外部的链接服务器,这样我就可以为其提供复制所需的特定名称。可能没有被MS支持支持,但它确实有效。

答案 1 :(得分:0)

可以检查防火墙或代理配置可以揭示导致问题的原因。