当前位置: 首页 > 知识库问答 >
问题:

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

晏富
2024-11-29

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

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

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

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

共有4个答案

武卓
2024-11-29

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

郝哲茂
2024-11-29

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

比如你的这个需求:

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

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

吕德业
2024-11-29

可以使用nginx反向代理

 类似资料:
  • 我在公网服务器上搭建了openvpn-server,在内网的机器192.168.0.106上通过openvpn-client连接上,并且获取到了分配地址:10.8.0.6。 在外网的机器通过openvpn-client连接openvpn-server上,ping 10.8.0.6 是有应答的,说明隧道创建成功了。但是我通过 ping 192.168.0.106 无法应答,这是什么原因? 这是我内网

  • 互联网上连接的每台设备都有一个IP地址,该IP地址唯一地标识该设备。 IP地址可以分为外网和内网两种类型。 可以从Internet上的任何位置访问外网IP地址, 而只能在内网(LAN)中访问专用IP地址。 现在,如果您想将本地Web服务器中的某些内容开放给内网之外的朋友,他们是在局域网外,并且不能通过外网访问内网的web服务器,那么,如何将本地web服务暴露给内网之外的朋友呢? 在这种情况是可以使

  • 下面的javascript代码来自这个问题的答案,非常适合替换网页上的文本。在Safari和Chrome中使用javascript控制台都取得了成功的结果。 但是,当我将其保存为替换_文本时。js并尝试使用Applescript运行它,在Safari和Chrome中都会返回缺少的值 我也尝试运行javascript直接从Script编辑器中的告诉块,转义引号和转义后,而不是使用replace_te

  • 这是我的docker-compose.yml代码: 下面是我的traefik.toml代码:

  • Spring Boot项目本地和内网可以访问,并且服务器本身可以通过外网访问,为什么Spring项目外网无法访问? application.yml中相关配置如下 服务器本机通过localhost:8080和服务器局域网ip:8080均可访问,相同局域网内的设备也可以通过服务器的局域网ip访问 服务器为Windows Server,上面有几个IIS配置的静态网页 除此之外,尝试将端口修改为其他端口,

  • 在Spring Boot微服务架构中,我们通常通过执行Eureka将每个微服务(其许多实例)注册到Eureka服务器。客户使用eureka=true注册,eureka。客户fetch registry=true和eureka。客户服务URL。默认区域=http://localhost:8761/eureka。因此,Eureka充当这些服务(服务名称、主机名及其IP)的服务注册表。 Spring C

  • 我正在设置一个带有API网关(KONG)和微服务(Spring Boot应用程序)的环境,但我对它们之间的SSL通信有很多疑问/担忧。 我应该将SSL设置放在API网关还是微服务上? 目前,我的微服务应用程序有自己的SSL证书,它通过8443端口在容器中运行。 但是现在实现API网关,我不确定是否必须将其从我的微服务中删除并在API网关中设置,或者将其添加到两者中。 我希望我的微服务和API网关之

  • 我面临的问题与孔,我创建了我的服务和我的路线完全一样的5分钟快速入门的孔的留档,但我只改变了一些参数设置服务与我自己的apilocalhost:3000。 这就是我的设置: Kong在docker上运行(Docker与我的服务运行在同一台机器上) http://localhost:3000/users我的服务总是返回JSON{状态:确定} 这就是我为创建我的服务所做的。 我使用以下参数创建了我的服