我正在尝试在 Google Appengine 上测试U2F 。
不幸的是dev_appserver.py
,用于本地测试的开发应用程序服务器仅在 HTTP 中运行,并且 U2F 标准要求 Web 服务器通过 HTTPS 连接。
代理服务器有一些选项,包括stunnel、stud、Pound和ngrok。
我所做的可能最终会成为一个开源包,所以我想保持设置相当简单,并将依赖项列表严格限制在广泛可用的包中。
一个理想的解决方案是一个命令行程序,类似于prog_name -listen localhost:8041 -proxy localhost:8040
; 换句话说,一个非常简单的命令行设置。
和程序似乎有点矫枉过正stud
。pound
该stunnel
选项似乎是最好和最常见的解决方案,但如果可以从命令行而不是配置文件配置它会更好。
Ngrok 非常酷,似乎是正确的路线。虽然它为您提供了一个随机的服务器名称,这可能是一个问题,因为 U2FappId
必须与服务器匹配(如果持久性很重要),但除此之外,它基本上是正确的想法。
openssl
我对从命令行可以实现这一点有一个模糊的记忆,但唯一似乎合适的命令s_server
似乎只提供 ssl 反射/调试信息,而不是代理请求本身的选项。我的记忆一定有问题。
编写一个简单的 Python 服务器/客户端代理并不难,这让我相信那里可能有一个简单的选择……但是,搜索结果的信噪比非常糟糕。
当内容通过 HTTP 提供时(与 AppEngine 的情况一样),是否有其他明智的选择可以使用 HTTPS 服务器进行开发dev_appserver.py
?