IIS 上 http v https 的文件位置不同吗?

IIS 上 http v https 的文件位置不同吗?

我们有一台运行 IIS 的服务器,并且有一些文件夹在 https 下运行,但大多数文件夹都是开放的。我遇到的问题是,当有人从网站安全部分的页面定向时,相对链接会显示 https。例如:

链接到

/图片

http://www.mysite.com/pictures

但如果有人在网站的安全区域

https://www.mysite.com/shoppingcart

然后点击返回/图片,他们得到

https://www.mysite.com/pictures

因此图片目录显示在 https 下。我的问题是,它们发生这种情况时会显示 404 未找到消息

我在设置中找不到任何表明安全连接正在从非安全连接以外的任何位置提取文件的信息。如果我在网站主页上输入 http 或 https,两者都会正常显示。但如果我尝试在文件夹级别添加 https://,则会得到 404。

你知道为什么会发生这种情况吗?

答案1

如果我理解正确的话,https://www.mysite.com/pictures抛出 404,但是http://www.mysite.com/pictures没有。而且,https://www.mysite.com作品。

您网站上的链接是相对的,因此,如果他们通过 http 访问,则链接为 http,否则为 https。我认为这部分就是您想要的。

因此,对于子文件夹中的 404 错误,这不是默认行为。

您能判断这是否是真正的 404 错误,或者是否有子状态代码吗?失败时可能会显示浏览器窗口,否则请检查 IIS 日志。

失败请求跟踪也是查看正在发生的事情的好方法。

我无法猜测是什么原因造成的,所以我的建议是尝试将其分解为最小的部分。即直接点击这些链接而不考虑页面中的 HTML,看看是否可以重现它。然后问题可能会变得更加明显。

答案2

确保 Http:// 和 https:// 确实是同一个网站。您可以轻松地在 IIS 中设置两个网站,其中一个监听 http 流量(端口 80),另一个监听 https 流量(安装了 SSL 证书的端口 443)。如果 IIS 管理器在网站部分下列出的不仅仅是“默认网站”,那么您可能有用于 HTTP 和 HTTPS 流量的单独网站。您还应该检查 SSL 是为网站的一个文件夹配置的,还是为整个域配置的。在 IIS 管理器中右键单击网站或文件夹,选择“目录安全”选项卡并更改“安全通信”设置,即可配置 SSL。

相关内容