0

我有一个 Web 应用程序,它依赖于保留FQDN的浏览器客户端才能使其工作,但发生的情况是,在多个浏览器中,我看到 url 被转换为 ip 地址 url(包含正确的 IP 地址)正在通过来自 Web 服务器的重定向进行更改。

托管资源的 Web 服务器是 Cassini,HttpRequest 类Url 属性返回 URL 中的 IP 地址,而不是 FQDN。

关于如何改变这种行为的任何建议?

4

3 回答 3

2

这可能是您的 Web 服务器中的错误配置。在 apache 中(例如),可以在使用ServerName指令执行某些重写过程时设置要使用的规范主机名。一种常见的情况是 Web 服务器在 URL 的末尾添加斜杠(“ http://example.com/path”→“http://192.168.1.1/path/ )。

我建议看看 curl 发生了什么。

于 2009-04-20T14:44:54.037 回答
1

这不是 DNS 问题,而是 Web 服务器配置问题。

是的,DNS 用于将 URL 的主机名部分转换为 IP 地址。

但是,该 IP 地址永远不会出现在浏览器栏中,除非 Web 服务器通过发送重定向告诉它

于 2009-04-20T14:54:43.653 回答
1

感谢所提供的有用信息,我能够将此问题追溯到作为 Cassini 实现的一部分的 .NET Framework的HttpWorkerRequest抽象类的不完整实现。Cassini 实现未能覆盖 GetServerName,并且基本实现返回的是 IP 地址而不是域名。

于 2009-04-21T17:30:34.113 回答