nginx未透传scheme导致页面跳转失败问题
1、问题描述
- 系统架构:

客户请求经 F5到 nginx,再代理到 trident,从 trident处进行身份认证后,点击按钮跳转至 autodoc
- 问题现象

客户请求地址为 https://ibsmart.swhysc.com:28086/,但跳转 autodoc时链接变为 http://ibsmart.swhysc.com:28086/autodoc
2、原因及解决
# 该问题是由于客户nginx未将客户请求的scheme透传进来导致的,客户nginx配置如下图所示

# 该配置是将请求头中,转给下一级的 X-Scheme 修改为 F5 代理过来的 scheme,由于F5代理过来的scheme为 http,所以导致了问题
proxy set header X-Scheme $scheme;
# 在该场景中,由于客户F5无法进行配置,所以最终采用以下配置,将scheme写死为https
proxy set header X-Scheme https;
评论区