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

如何配置GCP经典负载均衡器使Odoo自动运行于HTTPS?

解决Odoo登录后自动跳回HTTP的问题

问题根源

你的GCP负载均衡在前端处理HTTPS,但后端Odoo服务跑在HTTP环境下,且Odoo未感知到外部请求的协议是HTTPS,导致生成的内部链接默认使用HTTP,最终登录后自动跳转回HTTP。

解决步骤

1. 修改Odoo核心配置文件

找到Odoo的配置文件odoo.conf(通常路径为/etc/odoo/或Odoo安装目录下),添加或修改以下参数:

proxy_mode = True
web.base.url = https://你的域名/公网IP
web.base.url.freeze = True
  • proxy_mode = True:开启代理模式,让Odoo信任反向代理传递的头部信息
  • web.base.url:硬编码Odoo对外的HTTPS访问地址,强制生成HTTPS协议的内部链接
  • web.base.url.freeze:冻结基础URL配置,防止Odoo自动检测为HTTP地址

修改完成后重启Odoo服务:

sudo systemctl restart odoo

2. 配置GCP负载均衡的头部传递

确保GCP经典负载均衡将X-Forwarded-Proto头部传递给后端VM,让Odoo能识别外部请求的协议:

  • 进入GCP控制台,找到目标负载均衡器
  • 进入对应后端服务的配置页面
  • 确认已启用X-Forwarded-Proto头部转发(HTTP(S)类型负载均衡默认开启,建议手动检查确认)

3. 优化VM上的反向代理配置(若使用Nginx/Apache)

如果你的VM上用Nginx做80到8069端口的转发,必须补充协议头部传递配置:

server {
    listen 80;
    server_name 你的域名;

    location / {
        proxy_pass http://127.0.0.1:8069;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme; # 关键:告知Odoo外部协议为HTTPS
    }
}

重启Nginx使配置生效:

sudo systemctl restart nginx

4. 强制HTTP跳转至HTTPS(可选但推荐)

彻底避免用户访问HTTP版本,可在负载均衡或反向代理层配置强制跳转:

  • GCP负载均衡:在前端规则中,将端口80的HTTP请求直接301重定向到443端口的HTTPS
  • Nginx:新增专门的server块处理HTTP请求跳转:
server {
    listen 80;
    server_name 你的域名;
    return 301 https://$host$request_uri;
}

验证操作

完成所有配置后,清除浏览器缓存,通过HTTPS地址登录Odoo,检查所有内部链接是否均为HTTPS协议,确认登录后不会再跳转回HTTP。

内容的提问来源于stack exchange,提问作者Vishakha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:24:31