Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 使用http和https的Liferay_Ssl_Https_Liferay_Liferay 6 - Fatal编程技术网

Ssl 使用http和https的Liferay

Ssl 使用http和https的Liferay,ssl,https,liferay,liferay-6,Ssl,Https,Liferay,Liferay 6,我正在尝试将Liferay用于http和https 如果我包含在portal-ext.properties中: company.security.auth.requires.https=true web.server.protocol=https 可以使用https,但在http中由于尝试加载而显示不正确的主题 如果我删除这两行代码,那么这两行代码对http正常,但对https无效 我能做什么?IMHO混合模式,例如提供http和https,永远不会给您带来您所期望的:您期望https提供安全

我正在尝试将Liferay用于http和https

如果我包含在portal-ext.properties中:

company.security.auth.requires.https=true
web.server.protocol=https
可以使用https,但在http中由于尝试加载而显示不正确的主题

如果我删除这两行代码,那么这两行代码对http正常,但对https无效


我能做什么?

IMHO混合模式,例如提供http和https,永远不会给您带来您所期望的:您期望https提供安全性,但您总是有泄漏会话信息的风险,例如易受会话劫持攻击(ala Firesheep)。我的实际建议是,如果你为了安全而使用https,那就去吧。如果这不是您的选择,请继续阅读,但当您发现信息泄漏时,请不要抱怨(这不取决于Liferay,但适用于任何基于web的环境)

你对主题的确切问题是什么?(通过http的图像/css?)您使用的是哪个版本的Liferay

在指定更多内容之前,您可能需要配置主题的“虚拟路径”,这将重写引用主题的所有URL。它通常用于通过Web服务器或cdn提供静态资源,但它可以与任何类型的URL一起使用。简单地使用协议相对URL应该可以工作(我喜欢这个几乎未知的http特性):

将此添加到主题的liferay-look-and-feel.xml中:

 <look-and-feel>
    <theme id="my" name="My Theme">
       <virtual-path>//domain.com/myTheme</virtual-path>
    </theme>
 </look-and-feel>

//domain.com/myTheme
请注意,URL省略了协议部分,
http:
https:
,因此浏览器将使用与整个页面加载相同的协议

编辑:更正了xml。将调查主题中的协议相关URL是否存在问题

编辑2:有些事情很奇怪。看起来,虚拟路径不是这样工作的,但我记得它在前面做过。是否将domain.com添加为cdn.host.http或cdn.host.https?(这将被连接起来)


关于相关内容,请检查您是否在appserver前面运行Apache。在这种情况下,您可能会转发门户的一些流量(例如http虚拟主机中的流量),但不会转发https虚拟主机中的流量。

是的,我无法访问css、字体、图像等。我使用的是Liferay 6.1.1。如果我添加//domain.com/myTheme。css的路径是。如果我使用/myTheme,它也不起作用。