我目前正在 IE10(在 Windows 8 上)下开发一个网站,使用 JavaScript 中的 WebSockets。它在 Firefox 18 和 Chrome 25 下运行良好,但在 IE10 上建立连接时出现安全错误。
我所做的似乎很简单:
websocket = new WebSocket('wss://hello.dev.mydomain.net');
但是 IE 不喜欢它:
SCRIPT5022: SecurityError
脚本在“https://test.dev.mydomain.net”(显然不是真实地址)。
令我困扰的是,如果我只是双击本地计算机上的文件(例如 file://...),它就可以正常工作。更糟糕的是:如果我使用 fiddler 来监控 HTTP 流量……它也有效。然而,如果没有 fiddler ,似乎根本就没有连接,如 API 规范中所述。 (见下文。)
根据 websocket spec 判断,异常也应该出现在 Chrome/Firefox 上......但它没有。所以我怀疑它与 HTTP/HTTPS 有任何关系。无论如何,我在 httpS 页面上使用 wsS 套接字...此外:当我用在线示例中找到的另一个有效服务器替换 wss 地址时,它可以工作。
我不知道这是否相关,但来自 test.dev.mydomain.net 的 IP 是 10.14.x.x,其中 hello.dev.mydomain.net 是 194.247.x.x。我不知道它是否可以仅在 IE 上触发某种安全...
还有一件事:我有*.dev.mydomain.net 的证书,IE 似乎没有问题。该脚本最初驻留在名为 my.name.dev.mydomain.net 的服务器上,但由于我是从另一个 URL 访问它的(我得到了重定向,因为我们首先认为它可能是某种同源策略问题),我不明白这有什么关系。至少我希望它不会...
欢迎任何想法。
编辑:将站点添加到受信任的区域也不起作用。
最佳答案
如果您尝试在本地(内联网) 域上打开 websocket,IE 似乎会抛出 SecurityError。要克服这个问题,您可以禁用 IE 识别本地站点的自动算法。这可以在 Tools > Internet Options > Security > Local Intranet > Sites 中完成。
取消选中所有复选框(或者只选中一个特定的复选框,如果您知道您的域究竟是如何最终出现在 Intranet 中的)。
请注意,IE 使用(除其他事项外)其代理设置来确定本地站点:如果您的域在代理设置中被列为排除在代理之外,那么它可能会被视为 Intranet 域。这就是启用 Fiddler 时 WebSockets 起作用的原因:它会修改 IE 代理设置,从而更改 Intranet 站点列表。
关于javascript - IE10 上的 WebSocket 给出安全错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15114279/
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que
在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?
我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("
我有一个.pfx格式的证书,我需要使用ruby提取公共(public)、私有(private)和CA证书。使用shell我可以这样做:#ExtractPublicKey(askforpassword)opensslpkcs12-infile.pfx-outfile_public.pem-clcerts-nokeys#ExtractCertificateAuthorityKey(askforpassword)opensslpkcs12-infile.pfx-outfile_ca.pem-cacerts-nokeys#ExtractPrivateKey(askforpassword)o
我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的
我了解instance_eval和class_eval之间的基本区别。我在玩弄时发现的是一些涉及attr_accessor的奇怪东西。这是一个例子:A=Class.newA.class_eval{attr_accessor:x}a=A.newa.x="x"a.x=>"x"#...expectedA.instance_eval{attr_accessor:y}A.y="y"=>NoMethodError:undefinedmethod`y='forA:Classa.y="y"=>"y"#WHATTT?这是怎么回事:instance_eval没有访问我们的A类(对象)然后它实际上将它添加到
我有一个集合选择:此方法的单选按钮是什么?谢谢 最佳答案 Rails3中没有这样的助手。在Rails4中,它是collection_radio_buttons. 关于ruby-on-rails-rails上的ruby:radiobuttonsforcollectionselect,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18525986/