1

我在服务器的根目录下安装了 SSL。我有一个页面,其代码背后的代码应该在经过某些验证后重定向到安全页面。这是重定向代码:

switch (PageBase2.GetParameterValue("Environment")) //Retrieves App Setting named Environment from web.config
            {
                case "Server":
                    strURL = @"https://" + HttpContext.Current.Request.Url.Authority + "/checkout/payment.aspx";
                    break;
                case "Local":
                    strURL = @"http://" + HttpContext.Current.Request.Url.Authority + "/checkout/payment.aspx";
                    break;
                default:
                    strURL = @"https://" + HttpContext.Current.Request.Url.Authority + "/checkout/payment.aspx";
                    break;
            }
            Response.Redirect(strURL, false);

但是 IIS 提供的页面是不安全的。我查看了萤火虫控制台,似乎客户端确实向https://server/checkout/payment.aspx发出了 get 请求,但 IIS 以 302 响应http://server/checkout/payment.aspx 任何线索,至于可能是什么原因造成的。我什至尝试为页面强制使用 SSL,但它不起作用我收到 403.4 错误。(需要 SSL 才能查看此资源。)如果我删除重定向逻辑并将支付页面编码为在使用 Request.IsSecureConnection 连接不安全时重定向到其 SSL 版本,我最终会出现无休止的重定向循环,仅仅是因为如果没有 302,IIS 仍然无法提供安全版本。有什么想法吗?

4

1 回答 1

0

听起来您没有正确配置 IIS,并将 SSL 应用于特定网站。

您可以通过 https 链接尝试访问静态资源、图像或 html 文件来对此进行测试。如果这也重定向,我会查看 IIS 配置。

于 2009-06-17T14:26:06.863 回答