记录一个nginx踩坑过程
踩坑配置:
location /aaa/ {
proxy_pass https://218.95.181.84:8088/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_cookie_path /aaa /;
}
得到的结果,配置这个代理下其他接口能正常访问


另外一个get请求配置反代理生效

关于这个配置的解释:
proxy_set_header 是nginx配置中的一个指令,用于设置代理请求中的HTTP头信息。而 Host $http_host 是一个具体的设置。
在HTTP请求中,Host 头信息用于指定要访问的主机名或域名。$http_host 是nginx内置变量,它表示客户端发送的HTTP请求中 Host 头的值。通过使用 proxy_set_header Host $http_host; 这个配置,您可以将客户端请求中的 Host 头信息传递给后端服务器。
这在代理服务器的配置中非常常见,特别是当nginx用作反向代理时。反向代理服务器接收客户端的请求,并将请求转发到后端服务器,同时也重新构造了一些头信息,以确保后端服务器能够通过这些头信息识别原始请求的来源。
总结起来,proxy_set_header Host $http_host; 这个配置项的作用是将客户端请求中的 Host 头信息传递给后端服务器,确保后端服务器能够正确地处理来自不同域名的请求。
修改后的配置:
location /aaa/ { proxy_pass https://218.95.181.84:8088/; }
主要是删除这个配置就可以了;
proxy_set_header Host $http_host;

具体原因我目前也不是很清楚
本文来自博客园,作者:zhupan,转载请注明原文链接:https://www.cnblogs.com/zhupanpan/p/17653580.html

浙公网安备 33010602011771号