tomcat / Liferay没有重定向到https主题和钩子

时间:2016-02-22 01:38:00

标签: tomcat nginx liferay liferay-6

我更改了服务器,因此我从nginx指向newipserver:8080

问题是Liferay主题和钩子的所有相关链接指向http而不是https且主题不起作用。我已将server.xml中的此配置更改为,但无法正常工作。

<Connector
    URIEncoding="UTF-8"
    connectionTimeout="20000"
    proxyPort="80"
    proxyName="www.domain1.com"
    port="8080"
    protocol="HTTP/1.1"
    redirectPort="443"
    maxHttpHeaderSize="99999"
    enableLookups="false" />
    <Connector
        port="443"
        protocol="HTTP/1.1"
        enableLookups="false"
        redirectPort="8443" />

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

您的困境在以下博文中有描述:

https://www.liferay.com/web/kamesh.sampath/blog/-/blogs/nginx-ssl-load-balancing-with-liferay

总之,SSL终止于NGINX,NGINX没有将请求最初是HTTPS传递给应用服务器;相反,它告诉应用服务器它是一个HTTP请求。

由于应用服务器被告知它是一个HTTP请求,它告诉Liferay同样的事情。因此,假设所有请求都是HTTP而不是HTTPS,并且由于Liferay不生成与协议相关的URL,因此您会遇到您所描述的问题。

正如博客文章中所提到的,假设您不需要直接访问应用程序服务器(您可以通过NGINX获得所有请求),您可以将<?php function interest($Principle,$Compound,$Annual_Rate_Intrest,$Valid_For){ $Accumulated=0; if ($Compound > 1){ $Accumulated=interest($Principle,$Compound-1,$Annual_Rate_Intrest,$Valid_For); } $Accumulated += $Principle; $Accumulated = $Accumulated * pow(1 + $Annual_Rate_Intrest/(100 * $Valid_For),$Valid_For); return $Accumulated; } ?> 属性设置为{{1}如Tomcat文档中所述,在您的连接器上。

https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Common_Attributes

如果确实需要直接访问服务器,则需要在secure标志为true的其他端口上添加另一个连接器。