帮助与文档

当前位置: 主页 > HTTP代理IP > 正文

客户端请求的https跳转为http,请求超时的原因是什么?

时间:2024/4/30 10:25:04   来源:米安网络   作者:云主机配置专家   点击:401次

nginx配置ssl https代理后端tomcat http请求时,会自动跳回http并报错:400 Bad Request    The plain HTTP request was sent to HTTPS port

解决方案:添加参数

1、proxy_redirect参数;

这个参数主要用来改从被代理服务器传来的应答头中的"Location"和"Refresh"字段。

在此处配置为proxy_redirect http:// $scheme://;

作用是将从tomcat中返回的http修改为https。

2、port_in_redirect参数;

这个参数的作用是启用或禁用在由nginx发布的绝对重定向中指定端口。

此处配置为port_in_redirect on;

作用是在nginx反向代理跳转到tomcat时将跳转到的端口替换为nginx监听的端口。

3、proxy_set_header 参数

此处配置为 proxy_set_header Host $host:$server_port;

此处设置为proxy_set_header  Host $host:$server_port;的作用是将请求的报文的头部的客户端的ip更改为当前作为反向代理的nginx的监听的ip及端口,这样后端的tomcat处理完请求时返回给nginx,再由nginx代理将结果返回给客户端。不然,后端服务处理完请求会直接返回到客户端,这样会导致客户端请求的https跳转为http,以及请求超时。

版权保护: 本文「客户端请求的https跳转为http,请求超时的原因是什么?」由 云主机配置专家 原创,转载请保留链接: https://www.miandns.com/docs/proxyip/1749.html

联系客服

0312-5535754

微信公众号