我正在使用名为'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要么没有被设置,要么没有被请求传递。
答案 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)来连接到我的服务器并将数据发送到我的客户端的办公室加载项。