我更改了服务器,因此我从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" />
非常感谢提前。
答案 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
的其他端口上添加另一个连接器。