我正在开发一个用MERN堆栈制作的web应用程序,并集成了Epson Javascript SDK来打印收据,因为我们正在使用Epson TM-M30打印机。网络应用程序可能主要在Safari上运行,但有时也可以是chrome或firefox。
我怀疑将CA证书分配给私有IP是否有效。如果我错了,请纠正我。
它在localhost
和PORT 8008
上与各自的打印机IPs
和deviceID
完美地工作,正如它们在SDK文档连接功能中提到的那样。
当我尝试使用Domain上托管的同一web应用程序访问同一打印机时,该应用程序在PORT 8043
上运行HTTPS协议,这在SDK文档连接功能中特别提到。浏览器阻止web应用程序打印收据的请求并抛出ERR_CERTIFICATE_INVALID
。
我已经检查了打印机配置,它显示打印机正在SELF SIGNED CERTIFICATE
上运行。
有没有办法让它变得容易访问?
我请求使用以下代码进行连接:
new epson.ePOSDevice().connect(ipAddress, port); PORT: 8008 for localhost and 8043 from hosted domain
您在这里的选择有点有限,要么需要在打印机上安装签名证书,要么需要将浏览器配置为允许自签名证书,这是浏览器制造商多年来变得更加困难的事情。
你没有说你使用的是哪台打印机或浏览器,所以很难给出完整的答案,但如果你使用Chrome,你可以按照这些说明操作。