liferay返回localhost for CAS而不是真正的主机名

时间:2017-07-08 13:54:52

标签: liferay cas liferay-7

我试图在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

1 个答案:

答案 0 :(得分:0)

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

ProxyPreserveHost On

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

了解ProxyPreserveHost

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

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

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