【问题标题】:liferay returns localhost for CAS instead of real hostnameliferay 为 CAS 返回 localhost 而不是真实的主机名
【发布时间】:2019-06-26 02:59:22
【问题描述】:

我正在尝试在 Liferay 门户中实施 CAS。设置配置后,当我点击登录按钮时,它会将我重定向到这个网址: https://sso.myuni.ac.com:8443/cas/login?service=https%3A%2F%2Flocalhost%3A8080。 我的真实主机名是:www.liferay.myuni.com,端口是 8443。 我如何更改设置以使 liferay 返回真实的主机名而不是 localhost? 我想liferay returens https://sso.myuni.ac.com:8443/cas/login?service=https%3A%2F%2Fliferay.myuni.com%3A8443

【问题讨论】:

    标签: liferay cas liferay-7


    【解决方案1】:

    您是否在您的 tomcat 前运行 Apache(假设您使用的是 tomcat)?如果您这样做(并且如果您使用 mod_proxy 转发请求),请确保您还包括

    ProxyPreserveHost On
    

    这将确保 Tomcat 知道最初请求的主机名是什么 - 否则它将获取代理服务器发送的任何内容(当安装在同一台服务器上时,这通常是 localhost)。

    了解ProxyPreserveHost

    或者,检查您是否可以在 Liferay 的配置中声明实际的主机名,例如通过在portal.properties 中搜索localhost(您将在portal-ext.properties 中覆盖它)

    编辑:正如你所说,你只使用 tomcat,没有 Apache:请说明你实际看到的远程主机,而不是预期的(以及你如何获得它)

    关于portal.properties:这是一个包含在Liferay 的一个jar 中的文件,并不打算修改(这就是它不容易找到的原因)。但是,HTML version is here,它包含了很多配置选项。您通过在${liferay.home} 中创建一个名为portal-ext.properties 的文件进行覆盖,其中仅包含您希望更改的关于portal.proerties 的那些设置。

    【讨论】:

    • 我只使用tomcat,没有任何代理服务器。我使用liferay ver-7。没有名为 portal.properties 的文件。它在哪里?在其他地方,用户说更改portal-ext.properties,也没有这个文件。
    猜你喜欢
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 2013-09-15
    • 2019-09-25
    相关资源
    最近更新 更多