记录一个nginx踩坑过程

猪小戒 / 2023-08-24 / 原文

踩坑配置:

		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;

具体原因我目前也不是很清楚