外网网页如何和本地服务通信?

xxx.com如何和用户本地服务(127.0.0.1)通信?

我现在有一个身份证读卡器,连着用户电脑。读卡成功后会通过本地服务(127.0.0.1)读取出来。如下:
image.png

具体问题:我有一个部署在腾讯云的网站xxx.com。需要在上面开发一个功能需求,读取用户身份证的需求。当读卡器读取身份证后会通过本地服务127.0.0.1:9001推送读取结果。

但是我不知道外网网站如何能和本地服务通信?

阅读 1.6k
4 个回答

可以使用nginx反向代理

原来外网是可以实现与本地127.0.0.1直接通信的,不需要通过什么技术

还是那句话,你不能记“XXX如何OOO”,而要想办法理解原理,然后学习每个原理对应的做法有哪些,最后组合这些做法来完成你的业务需求开发。

比如你的这个需求:

  1. 对于浏览器来说,某个域名和某个 ip 地址,其意义是一样的
  2. 网页和 JS 运行在客户端环境里,所以客户端能访问的东西,它们都能访问到
  3. 所以你部署在线上的网站,里面的 JS 当然可以访问本地 IP+端口的服务,只要符合跨域策略
  4. 甚至,如果你能够改变浏览器配置,或者自行编译浏览器,那就连跨域策略都不用管

webSocket 协议默认是可以跨域的,所以有些硬件(比如 Web 打印机之类的)为了方便 Web 应用连接其服务,会使用 webSocket 提供接口,有些本地应用为了与 Web 应用通信,也会使用 webSocket 。
这也是常见面试题“有哪些技术可以解决跨域通信问题?” 的答案项之一。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏