1

我正在研究解决该问题的方法,即 glassfish 不支持虚拟主机的单个证书。

我的应用程序应该根据哪个客户想要访问他的数据来运行上下文。我实际上想为此使用单独的域,但由于这是不可能的,我想出了一个不同的想法:

我想通过他们进入的路径来区分客户。例如:www.application.com/customer1/pages/page.jsf 或 www.application.com/customer2/pages/page.jsf

但我不知道如何实现。据我所知,这些地址表示网络服务器上的路径。我能以某种方式做到这一点,而应用程序仍然可以找到页面吗?

最好我想将这些条目(customer1 和 customer2)存储在一个外部文件中,这样我就可以添加一个新条目而无需接触代码。

4

1 回答 1

0

我假设您的意思是 SSL 证书。我会考虑设置一个反向代理来处理多个域及其 SSL 加密并将请求转发到 Glassfish 上的普通 HTTP。

在应用程序本身中,可以通过他们使用的登录名(角色/组,...)来区分客户。如果只是使用路径或域来区分,则很容易访问来自不同客户的安全资源。如果您想获得域信息,您只需将代理服务器中的标头添加到传入的 HTTP 请求中即可。

至于这种代理的候选者,我可以推荐易于设置的NGINX 。您也可以使用 Apache 或许多其他方法来执行此操作。

于 2015-06-01T15:04:08.000 回答