gpt4 book ai didi

javascript - Internet Explorer 跨域 : Not sending preflight

转载 作者:太空宇宙 更新时间:2023-11-03 13:53:17 27 4
gpt4 key购买 nike

我发现了几个类似的话题。然而,似乎还没有一个起作用。

问题

在我们当前的生态系统中,我们为我们的 http-apis 提供了三个服务器。两个用于测试,一个用于生产。

最近我们发布了使用 AngularJS 的客户端网络应用程序。由于客户端应用程序是为我们的客户提供的,因此与我们的 api 的通信是跨域的。 Web 应用程序在 Chrome、safari 和 firefox 以及所有 api 中正常运行。但是,对于第三个 api,Internet Explorer(11) 拒绝发送 preflight(options) 请求,这使客户端无法与 api 通信。在其他两个 API 中,Web 应用程序在 IE 中运行良好。

API 如下:

https://api.doma.in/accesstoken -- Works in IE11
https://api2.doma.in/accesstoken -- Works in IE11
https://api3.doma.in/accesstoken -- Does not send preflight in IE11.

需要注意的是,这三台服务器或多或少是克隆的,因此设置不会有太大差异。

但是,我收到的错误消息中的错误如下:

SEC7118: XMLHttpRequest https://api3.doma.in/accesstoken required CORS (Cross Origin Resource Sharing).
SEC7119: XMLHttpRequest https://api3.doma.in/accesstoken required CORS Preflight.
SCRIPT7002: XMLHttpRequest Network error 0x80070005, Access Denied.

在网络日志中它只显示预检请求被取消,因此没有请求或响应 header 。

最佳答案

我能够使用 openssl 识别问题。通过运行 $ openssl s_client -connect <url/domain>:443 -state我发现了一个 ssl 错误。

Api 1 和 2 在 openssl 的结果中显示如下:

SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server key exchange A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A

在 api 3(失败的 api 服务器)上,结果显示了两个额外的操作:

SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server key exchange A
SSL_connect:SSLv3 read server certificate request A //This
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client certificate A //This
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A

但是我还没有在服务器上解决这个问题。与此同时,我正在使用 xdomain“hack”(https://github.com/jpillora/xdomain)。它真的很容易设置并且工作正常。

关于javascript - Internet Explorer 跨域 : Not sending preflight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32839262/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com