[转帖]nginx 反向代理中proxy_set_header的含义

nginx,反向,代理,proxy,set,header,含义 · 浏览次数 : 0

小编点评

当设置代理服务器的请求头时,需要使用以下设置: - `proxy_set_header Host $http_host;`:设置代理服务器的请求地址为代理服务器本身IP。 - `proxy_set_header X-Real-IP $remote_addr;`:设置真实IP地址为后端服务器的IP地址。 - `proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;`:设置代理服务器将真实IP地址替换为代理服务器IP地址。 - `proxy_set_header X-Forwarded-Proto $scheme;`:设置代理服务器将使用该协议的连接方式。 - `proxy_set_header X-Forwarded-Uri $request_uri;`:设置代理服务器将使用该URI进行请求。

正文

https://www.jianshu.com/p/cd813d68ed25

 

0.1212020.10.23 09:29:53字数 284阅读 9,939

1.proxy_set_header设置的请求头是传递给后端服务器的

2.ngixn反向代理中proxy_set_header的设置:

 proxy_set_header       Host $http_host;

 proxy_set_header       X-Real-IP $remote_addr;

 proxy_set_header       X-Forwarded-For $proxy_add_x_forwarded_for;

 proxy_set_header        X-Forwarded-Proto  $scheme;

 proxy_set_header        X-Forwarded-Uri  $request_uri;

解析:

1)$http_host:代理服务器本身IP。

2)$remote_addr:前一节点的IP,并不一定是用户的真实IP。

$proxy_host:代理服务器请求的host,即后端服务器/源站的IP,后端服务器有可能还是代理服务器。

$proxy_port:代理服务器请求的后端服务器的端口。

3)$http_x_real_ip:获取的是前一节点的X-Real-IP的值。

4)$proxy_add_x_forwarded_for:获取的是前一节点的X-Forwarded-For的值。

3. X-Forwarded-For 对应不同值:

proxy_set_header X-Forwarded-For $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

当只有一层代理服务器的情况下,两者的X-Forwarded-For值一致,都是用户的真实IP。

区别

$remote_addr是前一节点的IP,并不一定是用户的真实IP。

$proxy_add_x_forwarded_for变量包含$http_x_forwarded_for与$remote_addr两部分,他们之间用逗号分开。

与[转帖]nginx 反向代理中proxy_set_header的含义相似的内容:

[转帖]nginx 反向代理中proxy_set_header的含义

https://www.jianshu.com/p/cd813d68ed25 0.1212020.10.23 09:29:53字数 284阅读 9,939 1.proxy_set_header设置的请求头是传递给后端服务器的 2.ngixn反向代理中proxy_set_header的设置: prox

[转帖]Nginx反向代理中使用proxy_redirect重定向url

https://www.cnblogs.com/kevingrace/p/8073646.html 在使用Nginx做反向代理功能时,有时会出现重定向的url不是我们想要的url,这时候就可以使用proxy_redirect进行url重定向设置了。proxy_redirect功能比较强大,其作用是对

[转帖]nginx 反向代理 URL替换方案

nginx 提供反向代理服务,日常开发过程中有时候我们需要使用nginx 作为代理服务根据url的不同去访问不同的服务器或者不同端口,如下提供两种方案。 1.直接替换location 匹配部分 1.proxy_pass的目标地址,默认不带/,表示只代理域名,url和参数部分不会变(把请求的path拼

[转帖]nginx 反向代理 URL替换方案

nginx 提供反向代理服务,日常开发过程中有时候我们需要使用nginx 作为代理服务根据url的不同去访问不同的服务器或者不同端口,如下提供两种方案。 1.直接替换location 匹配部分 1.proxy_pass的目标地址,默认不带/,表示只代理域名,url和参数部分不会变(把请求的path拼

[转帖]关于nginx 反向代理upstream中的 keepalive配置

一、关于nginx upstream 在nginx的模块中,分为3种类型,分别是handler,filter和upstream,其中upstream可以看做一种特殊的handler,它主要用来实现和后端另外的服务器进行通信,由于在nginx中全部都是使用非阻塞,并且是一个流式的处理,所以upstre

[转帖]Traefik中诡异的502和504问题

https://zhuanlan.zhihu.com/p/156138704 我们都知道在 Kubernetes 集群中通常会使用 Ingress 方案来统一代理集群内部的流量,而常用的 Ingress 方案为 traefik 和 nginx,和传统的 Nginx 作为企业内部的反向代理以及负载设备

[转帖]nginx反向代理时保持长连接

https://www.cnblogs.com/liufarui/p/11075630.html ·【场景描述】 HTTP1.1之后,HTTP协议支持持久连接,也就是长连接,优点在于在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。 如果我们使用了nginx去作为反

[转帖]使用 nginx 作反向代理,启用 keepalive 时,遇到 502 错误的调查过程

https://www.cnblogs.com/lizexiong/p/15358894.html 1.现象 结论见 《kubernetes ingress-nginx 启用 upstream 长连接,需要注意,否则容易 502》。nginx 的访问日志间歇性出现 502 响应,查看 nginx 的

[转帖]Nginx 反向代理地址后,session丢失,不能登录的问题

https://www.cnblogs.com/fan-yuan/p/14417255.html 设置反向代理后,session丢失无法正常登录,需按照如下格式设置即可location /aaaaa/bbbbbb { #代理跳转的路径 proxy_pass http://localhost:8080

[转帖]Nginx 反向代理解决跨域问题

https://juejin.cn/post/6995374680114741279 编写代码两分钟,解决跨域两小时,我吐了。 如果对跨域还不了解的朋友,可以看这篇:【基础】HTTP、TCP/IP 协议的原理及应用 最近一段时间,在搞一个 SDK 的项目,使用的 TS + rollup。rollup