老刘笔记老刘笔记

欢迎光临
我们一直在努力!

nginx反向代理配置详解参数配置

反向代理的概念

通常情况下,客户端向Web服务器发送请求,Web服务器响应请求并返回数据。
而在反向代理中,客户端的请求会转发给反向代理服务器
反向代理是将客户端的请求转发给后端服务器的一种方式。
通过使用反向代理,可以实现负载均衡、缓存、HTTPS支持等功能,从而提高网站的性能和安全性。

在Web应用开发中,反向代理是一种常见的服务器部署方式。
Nginx作为一个高性能的反向代理服务器,具有灵活的配置和强大的性能优势。

上图:

nginx反向代理配置详解参数配置多端口

nginx反向代理

反向代理指的是浏览器/客户端并不知道自己要访问具体哪台目标服务器,
只知道去访问代理服务器 ,代理服务器再通过反向代理 +负载均衡实现请求分发到应用服务器的一种代理服务。
反向代理服务的特点是代理服务器 代理的对象是应用服务器,也就是对于浏览器/客户端 来说应用服务器是隐藏的。

反向代理配置示例

#反向代理+负载均衡
upstream reverseProxyServer{
    #负载均衡应用服务器A: 权重为10,10s内连接请求失败2次
    #nginx在10s内认为server是不可用的,将不在发送请求给这台服务器
    server 应用服务器A的IP:8080 weight=10 max_fails=2 fail_timeout=10s; 
    #可以修改为本机服务器端口号,使用多端口,或多域名提供服务。
    server 0.0.0.0:8081 weight=5 fail_timeout=10s max_fails=2;
    server 0.0.0.0:8082 weight=1 fail_timeout=10s max_fails=2;
    server 应用服务器C的IP:8083 weight=5 fail_timeout=10s max_fails=2;
}

server {
    #监听80端口,http默认端口80
    listen 80;
    #服务器IP或域名
    server_name  localhost;
    #反向代理请求路径中含有/的所有请求到upstream定义的对应反向代理模块
    location / {
        proxy_pass http://reverseProxyServer;
    }
}

Nginx缓存配置

反向代理的缓存缓存是提高网站性能的关键。
Nginx在反向代理中提供了灵活的缓存配置。
下面为缓存配置示例:
http {
    //缓存路径及缓存大小    
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m; 
   
    upstream backend { 
    server 0.0.0.0:82;//格式:ip:8081,或本地127.0.0.1:8080 加相应的端口号,实现透明代理访问
    }

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_cache my_cache; 
            proxy_cache_valid 200 10m; //缓存时间 10分钟
            proxy_cache_valid any 10m; 
            proxy_pass http://backend;
            # 定义缓存的键值,可以根据需要自行定义
            proxy_cache_key "$scheme$request_method$host$request_uri";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}

文章链接https://www.rjyl100.cn/detail/127.html
版权声明:文章由本站原创或网友分享,禁止转载!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请与我们联系,我们将及时更正、删除,谢谢。
温馨提示本站信息来自互联网或网友分享,请大家查阅时,谨慎选择、自辩真伪,自负责任。

梦想还是要有的,万一实现了呢?老刘笔记,感谢有您陪伴!