首页 > 系统相关 >nginx 反向代理常用设置说明

nginx 反向代理常用设置说明

时间:2024-08-12 15:42:01浏览次数:14  
标签:set http header IP 代理 nginx host 反向 proxy

nginx 反向代理常用设置说明

根据不同的后缀名访问不同的服务器地址

例如:

server {
    listen       80;
    server_name  aaa.com.cn;# 服务器地址或绑定域名
  
    # ^~/api 表示匹配前缀为api的请求
    location ^~ /api/ {  
        # proxy_pass的结尾有/, -> 效果:会在请求时将/api/*后面的路径直接拼接到后面
        proxy_pass  http://www.x.com:9528/api/;
  
    }

    location ^~ /blog/ {
        # ^~/blog/ 表示匹配前缀为blog/后的请求
        proxy_pass  http:/www.y.com/blog/; 
    }
}

proxy_set_header说明

proxy_set_header说明要配置反向代理服务器传递给其他服务器的标头,我们可以在之前创建的配置文件中定义它们。使用 proxy_set_header 指令调整标头。 它们可以在server, location 或 http 块中配置。例如

proxy_set_header Host $proxy_host;
proxy_set_header Connection close;

配置说明

项目 说明
Host $http_host 服务器本身IP
X-Real-IP X-Real-IP $remote_addr,前一节点IP(非用户真实IP)
X-Forwarded-For $proxy_add_x_forwarded_for $proxy_add_x_forwarded_for,前一节点X-Forwarded-For值
X-Forwarded-Proto $scheme 浏览器在访问时的实际协议

X-Forwarded-For: 简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。 它不是RFC中定义的标准请求头信息,在squid缓存代理服务器开发文档中可以找到该项的详细介绍。
标准格式:X-Forwarded-For: client1, proxy1, proxy2。值通过一个“逗号+空格”把多个IP地址区分开, 最左边(client1)是最原始客户端的IP地址, 代理服务器每成功收到一个请求,就把请求来源IP地址添加到右边。

$host$http_host, $proxy_host 说明

变量名 是否显示端口
$host 不显示端口 浏览器请求的ip
$http_host 端口存在则显示 被代理服务的ip和端口号
$proxy_host 默认80端口不显示,其它显示 被代理服务的ip和端口号

标准配置示例

server {
    listen 80;
    server_name www.xxx.com;

    location /
    {
        proxy_pass http://xxx.com;
        proxy_set_header host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

标签:set,http,header,IP,代理,nginx,host,反向,proxy
From: https://www.cnblogs.com/zakun/p/18355063/nginx-reverse-proxy

相关文章

  • linux反向代理原理:帮助用户更好地优化网络架构
    Linux反向代理原理详解反向代理是一种在网络架构中常用的技术,尤其在Linux环境下被广泛应用。它可以帮助实现负载均衡、安全防护和请求缓存等功能。本文将深入探讨Linux反向代理的原理、工作机制以及其应用场景。1.什么是反向代理反向代理是指代理服务器接收客户端的请求,......
  • api代理爬虫:了解其基本原理和使用方法
    ​API代理爬虫的使用指南在数据驱动的时代,API(应用程序接口)成为了获取数据的重要途径。而通过API代理爬虫,我们可以高效地采集和处理数据,尤其是在面对反爬虫机制时。本文将为你介绍API代理爬虫的基本概念、工作原理以及如何使用。1.什么是API代理爬虫?API代理爬虫是一种结合了......
  • 爬虫代理平台怎么选?实用的选择指南一起来看看
    如何选择合适的爬虫代理平台在进行网络爬虫时,代理平台的选择至关重要。一个合适的代理平台不仅能提高爬虫的效率,还能有效地保护用户的隐私,降低被封禁的风险。本文将为你提供选择爬虫代理平台的实用指南,帮助你找到最适合的解决方案。1.确定需求在选择代理平台之前,首先要明......
  • nginx 反向代理
    nginx.confhttp{server{listen80;server_namelocalhost;location^~/api{roothtml;indexindex.html;proxy_passhttp://localhost:5000/api;#前面加httpproxy_r......
  • Nginx负载均衡的max_fails和fail_timeout的默认配置问题
    今天发现一个奇怪的现象,前端请求后端服务多次后会超时一次,经过多次验证确定是大概10s左右就会超时一次,检查后端服务,发现其中一个节点已经夯死。但是我们的nginx负载均衡策略是轮询机制,按照配置来看应该是每隔一次请求轮询到失败的节点时超时一次才对。为什么是每隔10s超时一次呢?......
  • 科普文:Java基础系列之【你必须知道的框架基础-代理详解】
     概叙科普文:Java基础系列之【你必须知道的框架基础-反射/代理】-CSDN博客前面我们详细讲解了反射,反射作用在类加载后创建对象这个期间,再来看看代理。反射是基础,通过反射获取对象及其属性和操作;代理则可以将反射出来的类包装成目标类,然后构建一个代理类,通过代理类来操控目......
  • 科普文:Java基础系列之【你必须知道的框架基础-反射/代理】
    前言科普文:Java基础系列之【Java动态代理的应用场景和基本原理】-CSDN博客科普文:Java基础系列之【字节码增强技术探索】-CSDN博客科普文:Java基础系列之【字节码应用案例Fastjson原理和实操说明】-CSDN博客科普文:Java基础系列之【JVM字节码操作ASM框架概叙】-CSDN博客......
  • 打造高效存储与访问体验:NFS共享携手Nginx负载均衡,赋能企业级数据流通与性能优化
     作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 座右铭:   云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团团-CSDN博客前言:随着业务的增长,公司需要更多的服务器来支持用户访问和应用程序的运行。NFS共享可以解决文件存储的问题,而n......
  • nginx 配置
      http文件下载 unexpectedeofnginx日志:nginxclienttimedout (110connectiontimed) 来自:https://www.whyvv.top/nginx_timeout.htmlnginx访问出现504GatewayTime-out,一般是由于程序执行时间过长导致响应超时,例如程序需要执行90秒,而nginx默认最大响应等待时......
  • Java动态代理与方法拦截实战解析
    Java动态代理与方法拦截实战解析在Java编程中,动态代理是一种强大的技术,它允许我们在运行时创建接口的代理实例,并且可以拦截方法调用。本文将通过一个具体的实例,详细解析如何使用JDK的动态代理机制来实现方法拦截,以及如何编写通用的方法拦截器。实现InvocationHandler首先......