我们开发了一个通过 http/2 协议服务的公司 NodeJS 应用程序,我们需要通过 IP 地址识别客户端,因为服务器需要根据客户端的 IP(基本上是一些关于电话的数据)向客户端发送事件。
我可以成功获取客户端 IP,req.connection.remoteAddress
但是有些客户端只能通过我们的代理服务器访问服务器。
我知道x-forwarded-for
标头,但这对我们不起作用,因为代理无法修改 ssl 连接中的 http 标头。
所以我虽然可以从客户端获取 IP 并将其发送回服务器,例如在登录过程中。
但是,如果我没记错的话,浏览器不会向 javascript 提供该信息,因此我们需要一种方法来首先获取该信息。
研究它,我发现的唯一选择是从服务器获取,它可以告诉我从哪里到达它的 IP。
当然,通过https我不能因为代理。但是我可以很容易地启用一个 http 服务来服务客户端 IP。
但后来我发现由于“混合活动内容”问题,浏览器会阻止来自 https 服务页面的 http 连接。
我阅读了它,发现我可以得到“混合被动内容”,并且我成功地将垃圾数据下载为图像文件<img>
,但是当我尝试使用一个<object>
元素做同样的事情时,我得到一个“混合主动内容”块即使在 MDN 文档中也再次发出问题,它说它被认为是被动的。
有什么方法可以通过该(损坏的)<img>
标签读取该数据,还是我错过了使<object>
元素真正被动的东西?
任何其他实现我们目标的想法也将受到欢迎。