记录一个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;
具体原因我目前也不是很清楚