• nginx反向代理了解


    Nginx

    具有高性能的http和反向代理的web服务器,同时也是一个pop3/smtp/imap代理服务器,使用c语言编写

    **Web服务器:**也叫网页服务器,web server,主要功能是为用户提供网上信息浏览服务

    pop/smtp/imap:都是邮件相关协议,所以Nginx也可以作为电子邮件代理服务器

    反向代理:

    客户端将请求发送给代理,代理将请求发送给不同的服务端,把服务端隐藏起来,降低服务端压力

    正向代理:

    客户端将请求发送给代理,代理再向服务端请求,并接受服务端响应,将响应返回给客户端,比如翻墙

    cgi:通用网关(接口),主要解决的问题是从客户端发送请求和数据,服务端获取到请求和数据后可以调用cgi程序处理及相应结果给客户端的一种标准规范

    反向代理

    正向代理代理的是客户端(如翻墙),反向代理代理的是服务端,用户请求代理服务器,代理服务器再将请求分发到服务端

    ngx_http_proxy_module

    proxy_pass

    设置被代理服务器地址,可以是主机名称,ip地址+端口形式

    Syntax:	proxy_pass URL;
    Default:Context:	location, if in location, limit_except
    

    如果url后面不带/,最终被代理服务器的地址会是原来的url拼接上location后面的url

    proxy_set_header

    用来给客户端请求添加头信息

    Syntax:proxy_set_header field value;
    Default:proxy_set_header Host $proxy_host;``proxy_set_header Connection close;
    Context:http, server, location

    $http_请求头名称:可以获取对应请求头内容

    proxy_redirect

    重置头信息中的Location和Refresh的值

    Syntax:proxy_redirect default; proxy_redirect off; proxy_redirect redirect replacement;
    Default:proxy_redirect default; 将location块的uri变量作为replacement,将proxy_pass变量作为redirect进行替换
    Context:http, server, location

    主要用来解决服务端ip可能暴露问题,可以在代理服务器端添加

    proxy_redirect 服务端ip 代理服务器地址 来实现Location的

    反向代理系统调优

    Buffer和Cache

    • 相同点:都是用来提高IO吞吐效率,提升nginx代理性能
    • 不同点:缓冲主要用来解决不同设备之间数据传递速度不一致导致的性能低问题,缓冲中的数据一旦此次操作完成就可以删除
    • 缓存主要是备份,将被代理服务器的数据缓存一份到代理服务器,客户再次获取相同数据时,只需从代理服务器上获取,效率高
    Proxy Buffer相关指令

    proxy_buffering

    用来开启或关闭代理服务器缓冲区

    proxy_buffers

    用来指定单个连接从代理服务器读取响应的缓存区的个数和大小

    proxy_buffers 个数 大小

    proxy_buffer_size

    用来设置从被代理服务器获取的第一部分响应数据的大小,保持与proxy_buffers中的size一致即可,也可以更小

    proxy_busy_buffers_size

    限制同时处于busy状态的缓冲总大小

    proxy_temp_file_write_size

    设置磁盘上缓冲文件大小

    proxy_buffering on;
    proxy_buffers  4 32k;
    proxy_busy_buffers_size  64k;
    proxy_temp_file_write_size  64k;
    
  • 相关阅读:
    【Linux】第六章 进程地址空间(程序在内存中存储+虚拟地址+页表+mm_struct+写实拷贝+解释fork返回值)
    LLM推理入门指南①:文本生成的初始化与解码阶段
    怎么能让页面加载完在执行js
    阿里强推:Java程序设计基于JDK11零基础学Java笔记
    JBoss安装并部署war包
    微信小程序 python电影票务系统-nodejs电影票预订系统
    降低企业运营成本的API服务有哪些?
    Python中的yield简介及用法
    小程序从无到有教学教程-- 01.重置华为云服务器Huawei Cloud EulerOS 2.0版本并且设置安全组
    Webpack构建速度优化
  • 原文地址:https://blog.csdn.net/GJ_863/article/details/139424659