我正面临着为Liferay设置SSL的问题,这似乎是直截了当但我无法破解它。 我正在使用Liferay 6.2和MySQL 5.5并尝试在服务器上设置SSL。
在我进行实验时,我跟随http://java.dzone.com/articles/setting-ssl-tomcat-5-minutes(其他网站也给出了类似的建议)
现在,我可以通过https:liferay001:8443查看登录页面,当我登录重定向的URL时,丢失了端口号,之后没有显示任何页面(https://liferay001/web/guest/welcome?p_p_auth=PlbcFdOI&p_p_id=49&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&_49_struts_action=%2Fmy_sites%2Fview&_49_groupId=10204&_49_privateLayout=false
)
但是如果我通过非SSL登录即。 liferay001:8080登录页面正常。我通过开发人员工具检查了8080在显示:8080 / web / guest / welcome时没有丢失端口?
我尝试通过8080端口登录,然后切换到8443(SSL)端口,页面显示在SSL中没有问题。
因此,任何来自SSL的导航都会使端口在网址中丢失。
我在Windows和Ubuntu中尝试了这一点,两者都表现出相同的行为。
我必须在Liferay端进行更改以使其运行吗?我无法弄清楚我必须和server.xml一起做哪些文件更改。
现在我在server.xml文件中使用.keystore而不使用任何复杂的东西。
我还通过将以下内容添加到portal-ext.properties
进行了实验company.security.auth.requires.https=true
session.enable.phishing.protection=false
web.server.protocol=https
这导致服务器现在不返回任何响应,即没有登录页面作为响应。
答案 0 :(得分:1)
发布答案,因为将会有人在没有这些知识的情况下无法继续。
我曾尝试与我的团队中的几个人交往,所有人都来到了他们无法继续的地方。
答案是在portal-ext.properties
中包含以下所有条目company.security.auth.requires.https=true
session.enable.phishing.protection=false
web.server.protocol=https
web.server.https.port=8443