1

我在开发环境中安装了 Exchange server 2010。我正在尝试从也在开发环境中的节点 js Web 应用程序中调用 EWS 服务。

当我在 IIS 管理器的 EWS 网站上设置 require ssl 时,我收到 403 错误。这很正常,因为我在应用程序中的 URL 端点是 http,确切地说:http: //192.168.50.192/EWS/Exchange.asmx

但是,当我尝试使用https://192.168.50.192/EWS/Exchange.asmx 即 https 时,我遇到了超时。

我在 Web 表单上输入此 URL,然后以编程方式编写发送到此 URL 的 SOAP 请求。

我试图启动ngrok并在本地使用带有 https 的整个应用程序,但我得到了相同的结果。

如果 ssl 证书是问题,ngrok 有有效的证书。

请指教。

我是否需要在 IIS 上应用任何其他设置?

4

2 回答 2

2

您能否检查错误详细信息,或者您是否有可以检查的日志?

通过阅读这些问题,至少有两件事可能导致该问题,如果您的应用程序不共享同一个域,您可能会遇到相同域策略的问题,为此您可以使用 CORS 策略修复它。

如果问题与 SSL 证书无关,您的问题可能与 CORS 政策有关(如何允许 CORS?https: //senecacd.wordpress.com/2013/02/15/enabling-cors-on-a-node -js-server-same-origin-policy-issue/ )

如果这与 SSL 有关,那么您需要创建一个自签名 SSL 证书并尝试使用它。(不过,您需要禁用 SSL 对等验证。)

于 2016-06-23T18:36:43.033 回答
0

你可以尝试两件事:

  1. 以主机名/fqdn (exchserver/exch.domain.com) 格式而不是 IP 地址生成 SSL 证书。使用 Exchange Admin Center/IIS 导入此 ssl 证书和链。还要在运行 nodejs 应用程序的客户端计算机中信任此证书。
  2. 指示nodejs忽略服务器证书,方法是将此行放在process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";Ignore invalid self-signed ssl certificate in node.js with https.request 中获取的所有代码之前?

如果您在 nodejs 应用程序中广泛使用 EWS,您应该考虑使用ews-javascript-api node模块

于 2017-05-04T08:03:37.023 回答