【问题标题】:IIS: https://example.com switches to http://example.com:443 after form submitIIS:表单提交后 https://example.com 切换到 http://example.com:443
【发布时间】:2010-03-28 07:12:46
【问题描述】:

我有一个选中“需要 SSL”选项的 .net 3.5 站点。提交任何表单后,我收到一条消息“该页面包含安全和非安全项目”,如果我单击“是”,它会将 URL 从“https://example.com/...”更改为“http://example.com:433/...”。有谁知道可能是什么问题?

编辑:这仅在我提交回发时发生。如果我手动输入 URL,一切正常。

【问题讨论】:

    标签: .net iis iis-7 iis-6


    【解决方案1】:

    这通常发生在您通过 SSL(使用 https 协议)获取您的一些页面,而其中一些来自常规 HTTP 协议(​​最有可能是图像或脚本或 css 文件)时。

    检查您使用绝对路径引用了哪些文件,并将它们更改为相对路径。

    寻找这样的东西:

    <img source="http://somesite.com/myimage.png" />
    

    此图片将通过 HTTP 不安全地传送,因此您的页面中会出现警告。

    【讨论】:

      【解决方案2】:

      您的 SSL 证书是否已安装且有效? 是否发生在多个客户身上?

      【讨论】:

        【解决方案3】:

        抱歉,这不是 IIS 的问题。它在代码中被重定向:

        UriBuilder url = new UriBuilder();
        if (Request.Url.Port != 80)
        {
            url.Port = Request.Url.Port;
        }
        

        我将其替换为:

        UriBuilder url = new UriBuilder(Request.Url);
        

        现在一切正常。谢谢。

        【讨论】:

          猜你喜欢
          • 2016-01-16
          • 2015-05-21
          • 2020-09-24
          • 2021-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-23
          • 1970-01-01
          相关资源
          最近更新 更多