Javascript 如何使用extjs中的SSL调用rest

Javascript 如何使用extjs中的SSL调用rest,javascript,wcf,iis,extjs,Javascript,Wcf,Iis,Extjs,我的配置如下: REST服务器:托管在windows服务上的WCF-REST Web服务器:用于托管html+js文件(Sencha ExtJS)的IIS 客户机:客户机是使用Sencha ExtJS编写的 我在REST服务器上有两种身份验证/安全配置: 1.完全没有身份验证的http。 2.具有基本身份验证的https(ssl) 客户端在无身份验证/无ssl选项上工作得很好。 但是,我无法使用https/身份验证 如果我试图使用浏览器访问https url,我会收到一条消息,表明服务器证书

我的配置如下:

  • REST服务器:托管在windows服务上的WCF-REST
  • Web服务器:用于托管html+js文件(Sencha ExtJS)的IIS
  • 客户机:客户机是使用Sencha ExtJS编写的
我在REST服务器上有两种身份验证/安全配置: 1.完全没有身份验证的http。 2.具有基本身份验证的https(ssl)

客户端在无身份验证/无ssl选项上工作得很好。 但是,我无法使用https/身份验证

如果我试图使用浏览器访问https url,我会收到一条消息,表明服务器证书无效。我可以忽略它,出现一个用户/密码弹出窗口。输入用户/密码后,我会得到REST响应


我缺少什么使它能够使用javascript?

我假设您的开发服务器使用的是自签名证书;如果是这样的话,你要求一个不受信任的事务在没有用户同意的情况下继续进行,我很确定在Javascript中没有办法做到这一点

HTTPS交易需要建立信任,以确保数据安全。通常这是通过与第三方共享并由第三方验证的证书来实现的,但是作为开发人员,我们经常在开发和测试期间使用自签名证书,因为它们快速、简单且免费。在交易的每一端都需要知道这些自签名证书,以取代本应使用第三方证书建立的信任

如果您的浏览器没有安装自签名证书的副本,您将看到您提到的典型“哦,不,您正在访问最危险的网站”消息。浏览器为用户提供了一个UI来临时接受该证书(建立所需的信任),从而允许事务继续进行。Ajax事务没有这样的奢侈——浏览器只是让事务消失,因为没有用户界面。我认为我们都应该有一点庆幸,在Javascript中没有任何方法可以克服这一点

你的选择是:

  • 在一个选项卡或窗口中临时接受事务可能会在某些浏览器的其他选项卡/窗口中建立事务信任(我在Chrome中使用这种方法)
  • 在浏览器中安装证书(“方式”在很大程度上取决于您选择的浏览器)
  • 比您计划的要早一点签署证书-您无论如何都需要它,因为您正在开发下一个Facebook,对吗?:-)