Websockets不使用Powerpoint Add-in

时间:2018-04-24 01:55:39

标签: amazon-web-services websocket powerpoint office-addins elastic-load-balancer

我正在使用名为'Web Viewer'的Powerpoint的Microsoft加载项(它只是一个 iframe,您插入一个URL,它会在幻灯片中显示 )。

我插入了一个使用 Socket.IO 的网页,我发现它无法连接到服务器(即使是漫长的民意调查,它也会重新开始不起作用。)

显然,这不是加载项的问题:这里有什么想法?

我在 Mac 10.13.4(最新)/ Powerpoint(16.12,Office 365 Home)(最新)上进行了测试。

同样的网页在最新的Chrome,Firefox,Safari,IE11 中的iframe中工作,所以我在想嵌入式(Webkit) Powerpoint在Mac上使用的浏览器。

一般请求流程为:

  
    

浏览器 - > AWS ALB(启用粘性) - > Nginx - >节点

  

更新

进一步研究,并测试了其他使用Socket.IO的页面,我认为其设置的唯一区别在于ALB。

即使启用了粘性,也可以清楚地看到(在日志中)负载均衡器在所有EC2之间传递流量。这使我相信他们使用的cookie要么没有被设置,要么没有被请求传递。

2 个答案:

答案 0 :(得分:0)

首先,基于此github issue,应该可以打开websocket。

使用不安全的 ws:// 可能存在问题。我知道officejs拒绝了对 http:// 的所有请求,并强制您使用带有安全证书的 https:// 。因此,他们可能会对WebSockets执行相同的操作,并强制您将 wss:// 与有效证书一起使用。

您可以使用Chrome在Power Point Online中更轻松地进行测试。插件是相同的但是你在Devtools控制台中得到了更好的错误记录(点击F12)。如果这是一个安全问题,那么应该有一条错误信息表明它。

答案 1 :(得分:0)

我遇到了同样的问题,S.Freederle是正确的。现在我可以通过ngrok使用socket.io创建一个安全隧道(HttpS)来连接到我的服务器并将数据发送到我的客户端的办公室加载项。