【发布时间】:2010-03-28 07:12:46
【问题描述】:
我有一个选中“需要 SSL”选项的 .net 3.5 站点。提交任何表单后,我收到一条消息“该页面包含安全和非安全项目”,如果我单击“是”,它会将 URL 从“https://example.com/...”更改为“http://example.com:433/...”。有谁知道可能是什么问题?
编辑:这仅在我提交回发时发生。如果我手动输入 URL,一切正常。
【问题讨论】:
我有一个选中“需要 SSL”选项的 .net 3.5 站点。提交任何表单后,我收到一条消息“该页面包含安全和非安全项目”,如果我单击“是”,它会将 URL 从“https://example.com/...”更改为“http://example.com:433/...”。有谁知道可能是什么问题?
编辑:这仅在我提交回发时发生。如果我手动输入 URL,一切正常。
【问题讨论】:
这通常发生在您通过 SSL(使用 https 协议)获取您的一些页面,而其中一些来自常规 HTTP 协议(最有可能是图像或脚本或 css 文件)时。
检查您使用绝对路径引用了哪些文件,并将它们更改为相对路径。
寻找这样的东西:
<img source="http://somesite.com/myimage.png" />
此图片将通过 HTTP 不安全地传送,因此您的页面中会出现警告。
【讨论】:
您的 SSL 证书是否已安装且有效? 是否发生在多个客户身上?
【讨论】:
抱歉,这不是 IIS 的问题。它在代码中被重定向:
UriBuilder url = new UriBuilder();
if (Request.Url.Port != 80)
{
url.Port = Request.Url.Port;
}
我将其替换为:
UriBuilder url = new UriBuilder(Request.Url);
现在一切正常。谢谢。
【讨论】: