使用 CORS 的 HTTP 站点到 HTTPS Web 服务

Posted

技术标签:

【中文标题】使用 CORS 的 HTTP 站点到 HTTPS Web 服务【英文标题】:HTTP site to HTTPS webservice using CORS 【发布时间】:2013-02-12 11:49:42 【问题描述】:

我在域上有一个 html5/JS 网站,它使用 asp.mvc Web 服务在另一个域上进行 CORS 查询。

HTTP -> HTTP 一切正常,但是我们现在正在为用户特定的内容添加登录和身份验证机制,我们希望启用 HTTPS。但是它只是拒绝将选项请求发送到 Web 服务,只是给出“已中止”状态。

我正在使用 Firefox 进行测试,并且 Web 服务托管在具有自我证书的 IIS7 上(使用 SelfSSL7 生成)。

这方面是否存在任何已知问题?我确实检查了:

Cross domain request from HTTP to HTTPS aborts immediately

但是它提到解决方案是确保证书是可信的,据我所知,SelfSSL 在我调用它时使用 /T 选项来执行此操作。那么还有什么需要更改才能使其正常工作吗?

【问题讨论】:

搞定了,我不得不手动让 Firefox 忽略安全问题,所以它似乎没有被标记为受信任。 我刚刚遇到了同样的问题,为修复它的证书添加了一个安全例外。 如果 firefox 在 js 控制台中生成更有用的错误会很有帮助。 【参考方案1】:

很遗憾,您需要在 Firefox 中手动设置此设置,但我相信如果您手动设置配置文件配置,您可以覆盖此行为。

【讨论】:

以上是关于使用 CORS 的 HTTP 站点到 HTTPS Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

WebAPI - 为子域启用 CORS

从 HTTP 到 HTTPS 发出 CORS 请求是不是存在任何安全问题?

Express CORS 子域

该脚本如何使用 AJAX 从其他站点刮取 HTML,而不需要这些站点上的 CORS 标头?

CORS 和修改响应头

如何使用 301 重定向而不是 302 将 HTTP 站点重定向到 HTTPS 站点