gpt4 book ai didi

spring - 在 JBoss Spring JSF Web 应用程序中配置 https

转载 作者:太空宇宙 更新时间:2023-11-03 13:42:35 25 4
gpt4 key购买 nike

我已经在 Spring JSF Web 应用程序中使用 JBoss6 配置了 https,它适用于整个站点,但我只需要为特定文件夹和文件获取 https。在我的 web.xml 中我是这样配置的

文件夹特定的代码块有效,但在访问页面后如果我通过单击页面中的链接返回正常的 http 页面,它也会以 URL 中的 https 形式出现

<security-constraint>
<web-resource-collection>
<web-resource-name>secured folder</web-resource-name>
<url-pattern>/myfolder/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

如果我只在没有文件夹特定代码块的情况下放置下面的代码并且它为整个站点启用 https,则下面的代码有效。

<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Area, so redirect to HTTPS</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

为了实现这一点,我还缺少什么吗?

最佳答案

我过去所做的是在 JBoss 前面放置一个 Apache Web 服务器,并在其上安装和配置 SSL。然后,您可以轻松配置多个 URL 和上下文路径以转发到不同的内容。在生产环境中使用这种方法有很多优势。

  1. 轻松使用轻型和简单的 Apache 配置来建立公共(public)上下文路径。

  2. 反向代理 - 您可以使用 mod_jk Apache 插件以这种方式轻松设置反向代理。端口 80 和 443 将只对您的 Web 服务器开放,这意味着您的 JBoss 服务器可以完全位于防火墙后面,无法从外部访问。只有 Web 服务器可以在您选择的 AJP 端口上与应用程序服务器通信。

  3. 提供静态内容 - 这样做的另一个好处是您可以将所有静态 Web 内容(例如图像、样式表、javascript、Flash 对象等)放在可以提供的上下文中通过 Apache,同时将不同的上下文路径转发到 JBoss 上的所有动态 JSF 或 JSP 内容。这有助于减少应用服务器上的冗余负载。

  4. 负载平衡 - 使用 mod_jk 甚至 mod_proxy Apache 插件,您可以将 Apache 配置为充当 JBoss 集群的负载平衡器。它将能够评估各个 JBoss 节点的健康状况,并明智地决定将动态内容请求转发到哪个应用服务器。

所有这些与 JBoss 上的 HTTPS 和 HTTP 请求有什么关系?显然很难正确地做到这一点,我从很多人那里听说过。这样做将使您能够轻松地设置一个 URL 和上下文路径以仅服务于 HTTPS 动态内容,而另一个则服务于 HTTP 静态 Web 内容。以下博客文章是一个很好的入门教程。

http://technicalmumbojumbo.wordpress.com/2009/04/21/configuring-http-and-https-on-jboss-server/

关于spring - 在 JBoss Spring JSF Web 应用程序中配置 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12952251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com