我正在使用 Apache Felix HTTP Jetty 包。我可以启动 servlet 容器/HttpService 并使用系统属性将其分配给端口
org.osgi.service.http.port=8080
但我想有两个这样的服务,绑定(bind)到两个不同的端口,例如我的应用程序 API 应该在 8080 上提供服务,但一些静态网页应该在端口 80 上提供服务。
- 如何在不同的端口上再次启动 HTTP 服务?
- 在注册 servlet 时,如何知道哪个服务绑定(bind)到哪个端口?
编辑:对于最后一个问题,服务带有在属性中设置的端口值 org.osgi.service.http.port: 8080
最佳答案
如果您切换到 Pax-Web,您将能够做类似的事情。 Pax-Web 支持虚拟主机,让您将某个应用程序绑定(bind)到单个连接。您可以在我的两篇博文中找到有关如何使用它的更多详细信息:
Bind web applications to specific http connectors - part 1
Bind web applications to specific http connectors - part 2
关于http - OSGi HTTP Bundle - 绑定(bind)到两个端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20074211/