我使用Spark支持HTTPS的小型嵌入式服务器。我也想支持/捕获一些HTTP调用;例如像帮助页面和一些重定向。
例如帮助页面:
http://localhost:8088/help .... renders .... http::8088//localhost/help.html
或登录页面:
http://localhost::8088/login ... renders .... https::8089//localhost/login.html
我已经进入了一个阶段,我有一个嵌入式服务器响应HTTP xor HTTPS - 一个或另一个,而不是两者一起。是否可以使用相同的嵌入式Jetty(通过Spark)服务器响应这两种协议?如果没有,在同一个嵌入式应用程序中运行两个Jetty服务器是否可行?我可以在同一个应用程序中运行两个Spark服务器吗? (我把它当作'读',如果Jetty不这样做,要求Spark服务将是一个死胡同。
我的首选答案是,如果我可以使用我的Spark服务器来监听和处理这两种协议。到目前为止我的调查表明只有一种模式是可能的,主要是因为Spark实际上是一个静态库,你只能设置一个端口;而且你可能只有一个'Spark'服务器。有没有人为HTTP和HTTPS使用相同的端口? (这对我来说似乎并不“好”)。
我确实发现单元测试代码看起来像是在使用这两个协议TestSparkUtil:
然而,这是在测试服务器并使用大量已弃用的API。最后一个想法是,我可以使用第二个(嵌入式)Jetty-only servlet将HTTP调用重定向到HTTPS吗?你会推荐吗?
我确信这里有一个优雅的解决方案。提前感谢您抽出时间考虑此处提出的问题。
答案 0 :(得分:2)
答案 1 :(得分:1)
对于任何感兴趣的人,在master分支中不再提供George answer中的pull请求。当前正确的方法是使用实例API。官方文档中没有可用的文档,但是详细信息和示例可在下面的新闻页面中找到。