我在 IIS 中的默认网站下托管了一个应用程序。该应用程序是经过 Windows 身份验证的 Intranet 应用程序。当我尝试访问托管服务器外部的应用程序时。我能够使用某些计算机上的主机名访问它。而其他计算机会抛出错误消息“找不到资源”。在这些计算机(我收到错误的地方)中,如果我尝试使用 IP 地址而不是主机名进行访问,我就可以访问该站点。
我的主机服务器名称是 kdev
我尝试以 http:\kdev\usersetupapp\home.aspx 的形式访问该应用程序,这在某些机器上运行良好。但在其他系统中却不行,我能够使用如下所示的 IP 地址访问该应用程序
http://[10.0.0.1]/usersetupapp/home.aspx
请帮我解决这个问题
另外,请告诉我是否可以在默认网站本身下托管内部网应用程序,还是我需要将其托管为单独的网站。此外,如果我必须将其托管为单独的网站,我是否需要为主机名添加 DNS 条目?
谢谢
答案1
听起来您遇到了名称解析问题,客户端无法访问应用程序。根据您尝试使用的 URL,您需要能够ping kdev
在客户端上执行并查看名称解析为服务器的 IP 地址。在此之前,浏览器也无法工作。
我怀疑您正在对与 IIS 服务器位于子网内的计算机进行广播名称解析,这可以解释为什么您能够从某些客户端访问服务器,但不能从其他客户端访问。
您应该在客户端使用的完全限定域名 (FQDN) 的域中创建一个“A”记录,以将“kdev”映射到正确的 IP 地址。
关于“默认网站” - 它只是在 IIS 安装期间创建的内容。它本身与 DNS 无关,如果您愿意,可以将应用程序安装到其中。如果您决定创建其他网站和如果您选择使用 HTTP 主机标头来识别它们,那么如果您希望客户端能够解析网站名称并访问网站(我想,您会想要的),那么您将需要与主机标头名称相对应的 DNS 记录。
听起来,阅读 DNS 和 HTTP 主机标头的工作原理会对您有所帮助。