域名问题转向https的IP地址

我有一个使用Windows Server 2003的网站。该网站名为https://mysite.com/,IP地址为111.1.1.1。 现在,当我login到网站时,所有使用NavURL(<%#NavURL(“Images / Menu / img.gif”)%>)生成的相对链接都在说“ http://111.1.1.1/Images/Menu/ img.gif “而不是” https://mysite.com/Images/Menu/img.gif “。 这是一个错误,因为它需要安全。 我确定服务器上有一个指向名称而不是ip的设置,但我不知道在哪里。 谢谢你的帮助。

您的NavURL()方法(无论是本地定义的还是从某个库导入的)都包含一些用于parsing要在URL中使用的主机名和协议的逻辑。 从你的描述来看,这听起来像是简单地为本地机器查找IP地址,这不是你想要的。

您需要调查从哪里读取生成的URL的主机(和协议)部分。 如果可能,您可能需要修改NavURL()以使用包含根URL的configuration设置。 或者,您可以通过查看HTTP请求头来确定当前请求的主机名和协议,但是如果沿着这条路线走,请小心 – 请求头本质上是用户input的,应谨慎处理。

我能通过用ResolveUrlreplaceNavURL来解决这个问题。 这不是我想要的修复,但它的工作原理。 我仍然有一个完全相同的网站在另一台服务器上运行良好的NavURl,所以我确定它是一个服务器设置的地方,但现在应该做的。