我在这里使用peerjs有一个简单的Web应用程序:https://github.com/chakradarraju/bingo。我打算用github.io来设置一个demo,而github.io只能在HTTPS中提供,peerjs库使用的默认PeerServer不支持HTTPS。
我可以使用任何公共HTTPS PeerServer吗?
答案 0 :(得分:1)
对此的简单回答是否定的。不幸的是,浏览器最近不允许除了localhost之外的任何地址使用http。
执行此操作的一种方法是设置一个SSH端口,以便您可以欺骗浏览器,使其认为它正在与localhost通信。好的是演示,但不是制作。以下是一些信息(来自https://www.ssh.com/ssh/tunneling/example)
在OpenSSH中,使用-R选项指定远程端口转发。 例如:
ssh -R 8080:localhost:80 public.example.com
这允许远程服务器上的任何人连接到TCP端口8080 远程服务器。然后连接将通过隧道传回 客户端主机,然后客户端与端口80建立TCP连接 本地主机。可以使用任何其他主机名或IP地址代替 localhost指定要连接的主机。
或者,如果您有自己的Web服务器,则可以使用Let的加密:https://letsencrypt.org/使其运行https而无需购买SSL证书。他们的工具非常好,只需五分钟即可在您的服务器上获取https。
答案 1 :(得分:0)
尝试www
是否可以使用letsencrypt或自签名创建自动有效的证书。
https://go-www.com/post/how-it-works/
Usage of ./www:
-p port
Listen on port (default 8000)
-q quiet
quiet mode
-r root
Document root path (default ".")
-s your-domain.tld
https://your-domain.tld if "localhost", port can be other than 443
答案 2 :(得分:0)
可以通过将options.secure设置为true来解决此问题,如here所述。