You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Liferay 7.1 HTTP转HTTPS重定向异常:URL额外拼接/es/web

排查Liferay 7.1 HTTP转HTTPS时URL额外拼接/es/web的问题

先从Liferay门户配置排查

  • 检查站点虚拟主机绑定:进入控制面板→站点→配置→虚拟主机,确认HTTPS域名是否正确绑定到目标站点,且未设置错误的默认路径(比如强制添加/es/web前缀)。如果HTTPS域名未绑定到对应站点,Liferay可能会跳转到默认站点的路径,导致额外拼接。
  • 核查Portal属性配置:打开portal-ext.properties,重点检查以下参数:
    • web.server.protocol:确认是否设置为https,如果仍为http,Liferay可能在协议切换时触发异常路由。
    • liferay.virtual.hosts.default.site.path:该参数定义默认站点的路径,若设置为/es/web,会导致未匹配到虚拟主机的请求自动拼接该路径。
    • locale.default和locales.enabled:确认西班牙语es是否为默认语言,且语言前缀的显示逻辑是否符合预期(比如是否仅在非默认语言时显示,但当前配置是强制显示语言前缀)。
  • 测试直接访问HTTPS链接:跳过HTTP转HTTPS的步骤,直接输入正确的HTTPS URL(比如原HTTP链接是http://yourdomain.com/xxx,直接访问https://yourdomain.com/xxx),如果仍自动跳转到带/es/web的URL,说明问题出在Liferay内部路由或站点配置。

再排查接入服务器(如Nginx/Apache)配置

  • 检查HTTP转HTTPS的重写规则:查看接入服务器的配置文件,确认重写逻辑是否错误拼接了/es/web。比如Nginx中如果存在类似rewrite ^(.*)$ https://$host/es/web$1 permanent;的规则,会导致所有HTTP请求转HTTPS时强制添加该前缀。
  • 验证反向代理头信息:如果使用反向代理,确保正确传递协议头:
    • Nginx需添加proxy_set_header X-Forwarded-Proto $scheme;
    • Apache需添加RequestHeader set X-Forwarded-Proto "https"
      Liferay依赖X-Forwarded-Proto判断当前协议,若未正确设置,可能触发异常跳转。
  • 测试绕过接入服务器:直接访问Liferay应用服务器的HTTPS端口(比如Tomcat默认8443),输入https://your-server-ip:8443/xxx,如果此时URL正常无额外拼接,说明问题出在接入服务器的配置。

关键验证步骤

  1. 对比日志:查看Liferay的localhost_access_log.*日志和接入服务器的访问日志,追踪请求从HTTP到HTTPS的跳转过程,确认/es/web是在哪个环节被添加的。
  2. 站点路径测试:创建一个简单的测试页面,分别通过HTTP和HTTPS访问,观察URL变化,定位异常触发的场景。

常见修复方向

  • 若为Liferay配置问题:重新绑定HTTPS域名到目标站点,调整portal-ext.properties中的站点路径和协议参数,确保默认站点路径与预期一致。
  • 若为接入服务器问题:修正HTTP转HTTPS的重写规则,移除多余的/es/web拼接逻辑,确保反向代理头信息正确传递。

内容的提问来源于stack exchange,提问作者Daniel Medina Garcia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 17:25:16