无法配置NGINX反向代理实现URL不变显示目标页面的问题求助
NGINX代理配置问题:URL不变的情况下显示第三方页面内容
需求与约束
- 访问
https://gomegacorp.com/service-partners时,显示megacorp.partnerpage.io的页面内容 - 浏览器地址栏URL必须保持为
https://gomegacorp.com/service-partners,禁止使用301/302重定向
尝试的配置与对应现象
配置1:设置Host为partnerpage.io
location /service-partners { proxy_pass https://megacorp.partnerpage.io/; proxy_set_header Host partnerpage.io; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
- 现象:合作方网站返回404,页面中显示了
gomegacorp.com/service-partners路径
配置2:设置Host为megacorp.partnerpage.io
location /service-partners { proxy_pass https://megacorp.partnerpage.io/; proxy_set_header Host megacorp.partnerpage.io; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
- 现象:页面闪一下正确的合作方内容后变为空白(白屏)
配置3:添加proxy_redirect off
location /service-partners { proxy_pass https://megacorp.partnerpage.io/; proxy_set_header Host megacorp.partnerpage.io; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; }
- 现象:仍出现白屏问题
补充环境信息
- NGINX以容器形式部署在Google Cloud Run,作为前端代理使用
可能的问题方向
- NGINX配置存在错误
- Google Cloud Run对代理请求有特殊处理逻辑
- 合作方站点
partnerpage.io限制了代理访问,需要对方进行配置(当前无对方站点权限)
内容的提问来源于stack exchange,提问作者TeeTee
相关产品推荐
相关产品推荐

