【问题标题】:JSF + https header getting changed to httpJSF + https 标头更改为 http
【发布时间】:2012-02-16 21:06:58
【问题描述】:

我的网站是使用 JSF 构建的。它在 weblogic 应用服务器上运行,位于 apache 网络服务器后面。该网站是一个 https 站点。

当我点击菜单上的主页链接时,https 被更改为 http 并显示以下错误消息 -

Bad Request

您的浏览器发送了一个请求,要求该服务器 无法理解。
原因:您正在对一个普通的 HTTP 启用 SSL 的服务器端口。
改为使用 HTTPS 方案访问 请输入这个网址。

我在我的 xhtml 中使用以下代码 -

<h:outputLink value="#{menuBean.homeLink}">
    <f:verbatim>Home</f:verbatim>
</h:outputLink>

在我的支持 bean 中,这是我用于 homelink 的代码 -

public static final String CONTEXT_PATH = JSFUtil.getRequest().getContextPath();
private String homeLink = CONTEXT_PATH;
     // getters and setters

JSF Util 有以下 sn-p -

FacesContext fc = FacesContext.getCurrentInstance();
return ((HttpServletRequest) fc.getExternalContext().getRequest());

但是菜单中的其他链接工作正常(https 标头被保留)。它们都被定义为

CONTEXT_PATH\<some path>

我也注意到这个问题,只要在 faces-config.xml 中将属性“redirect”设置为 true。

【问题讨论】:

  • 您的 Apache 中是否有任何代理、重定向等可能会干扰您的请求?
  • 嗨 Viccari - 谢谢。我已经发布了决议。我也认为可能是 apache 导致了这个问题。

标签: apache jsf weblogic


【解决方案1】:

在 weblogic 管理控制台中添加 WL 前端主机和端口使 WL 使用重定向期间指定的 URL。这是一个 weblogic 配置问题。

【讨论】:

    猜你喜欢
    • 2021-10-09
    • 2015-05-16
    • 2011-04-17
    • 2021-06-02
    • 2016-11-19
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    相关资源
    最近更新 更多