Sun GlassFish Enterprise Server 2.1 发行说明

解决方法

在 Application Server Enterprise Edition 7.1 中,可以在代理 Application Server 实例上配置 auth-passthrough 插件功能,以使该实例上所部署的所有应用程序可以直接获得远程客户机的信息,就像代理 Application Server 实例直接收到请求那样,而不是通过运行 service-passthrough 插件的中间 Web 服务器接收。

在 Enterprise Server 2.1 中,可以通过将 domain.xml<http-service> 元素的 authPassthroughEnabled 属性设置为 TRUE 来启用 auth-passthrough 功能,如下所示:


<property name="authPassthroughEnabled" value="true"/>

Application Server Enterprise Edition 7.1 中的 auth-passthrough 插件功能的安全注意事项也适用于 Enterprise Server 2.1 中的 authPassthroughEnabled 属性。由于 authPassthroughEnabled 可以覆盖可能用于进行验证的信息(例如,请求的来源 IP 地址或 SSL 客户机证书),因此,必须只允许可信的客户机或服务器连接到 authPassthroughEnabled 设置为 TRUE 的 Enterprise Server 2.1 实例。作为一项预防措施,建议仅将公司防火墙之后的服务器的 authPassthroughEnabled 设置为 TRUE,而不要将可通过 Internet 访问的服务器的 authPassthroughEnabled 设置为 TRUE。

请注意,当代理 Web 服务器已配置了 service-passthrough 插件并且将请求转发到 authPassthroughEnabled 设置为 TRUE 的 Enterprise Server 实例时,Web 服务器代理上可能启用了 SSL 客户机验证,而在代理的 Enterprise Server 实例上却禁用了该验证。在此情况下,代理的 Enterprise Server 实例仍会将请求当作通过了 SSL 验证,并向部署在其上的发出请求的所有应用程序提供客户机 SSL 证书。