• Nginx配置反向代理


    Nginx配置反向代理

    在server块中配置

            #监听80端口
            listen       80;
            #监听的ip或域名
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root   html;
                index  index.html index.htm;
                # 转发到127.0.0.1:8080
                proxy_pass http://127.0.0.1:8080;
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    也可以根据访问路径的不同来访问不同的服务器

        server {
           listen       8000;
           server_name  localhost;
           #项目的目录
    			 root /www/work/;
           # 路径中包含/springmvc/则跳转至8080端口
           #~表示后边是正则表达式
           location ~ /springmvc/ {
               root   html;
               index  index.html index.htm;
               # 转发到http://127.0.0.1:8080
               proxy_pass http://127.0.0.1:8080;
           }
    
           # 路径中包含/webstudy/则跳转至8081端口
           location ~ /webstudy/ {
               root   html;
               index  index.html index.htm;
               # 转发到http://127.0.0.1:8081
               proxy_pass http://127.0.0.1:8081;
           }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    ※proxy_pass

    proxy_pass将请求传递给HTTP服务器,这个也是用的最多的

    • proxy_pass http://baidu.com; # 设置被代理服务器的地址

    • proxy_redirect off; # 用于修改被代理服务器返回响应头中的location和refresh头,与proxy_pass搭配,修改响应头Location值,off表示直接返回proxy_pass后的值,默认为default(客户端请求的URI)

    • proxy_pass_header field; #默认情况下,nginx服务器在发送响应报文时,报文头中不包含"Date"、"Server"、"X-Accel"等来自被代理服务器的头域信息,该指令可以设置这些头域信息以被发送,field为需要发送的头域

    • proxy_hide_header field; 用于设置nginx服务器在发送http响应时,隐藏一些头域信息,field为要隐藏的头

    • proxy_pass_request_body on | off; 用于配置是否将客户端请求的请求体发送给代理服务器,默认开启

    • proxy_pass_request_headers on | off; 用于配置是否将客户端请求的请求头发送给代理服务器,默认开启

    • proxy_set_header field value; 可以更改nginx服务器接收到的客户端请求的请求头信息,然后将新的请求头发送给被代理的服务器,field为要更改的请求头,value为值

    • proxy_connect_timeout 600;# 设置Nginx服务器与后端被代理服务器尝试建立连接的超时时间,默认为60s

    • proxy_read_timeout 600; # 设置Nginx服务器向后端被代理服务器发出read请求后,等待响应的超时时间,默认为60s

    • proxy_send_timeout 600; # 设置Nginx服务器向后端被代理服务器发出write请求后,等待响应的超时时间,默认为60s

    • proxy_method method; 设置nginx服务器被代理服务器时使用的请求方法,如POST、GET等

    • proxy_ignore_headers field … ; 用于设置一些http响应头中的头域,nginx服务器接收到被代理服务器的响应数据后,不会处理被设置的头域

    • proxy_buffering: on; # 设置是否开启Proxy Buffer,默认为on

    • proxy_buffer_size 8k; # 设置Nginx服务器从被代理服务器获取的第一段数据buffer大小,一般和proxy_buffers设置的buffer大小一致,或者更小, 默认为4k或者8k

    • proxy_buffers 4 32k; # 设置Proxy Buffer的个数和每个Buffer的大小

    • proxy_busy_buffers_size 64k; # 设置处在Busy状态的Buffer总大小上限,默认为8K或者16K

    • proxy_temp_file_write_size 64k; #当超过内存允许大小时,存到临时文件

    • proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; # upstream设置被代理服务器集群时,设置组内服务器出现哪些异常时,可以依次轮询到下一个组内服务器处理

    • proxy_set_body value; 更改nginx服务器接收到的客户端请求的请求体信息,然后将新的请求体发送给代理的服务器

    fastcgi_pass

    fastcgi_pass将请求传递给FastCGI服务器

    fastcgi_connect_timeout 3000;
    fastcgi_send_timeout 3000;
    fastcgi_read_timeout 3000;
    fastcgi_buffer_size 200k;
    fastcgi_buffers 8 200k;
    fastcgi_busy_buffers_size 200k;
    fastcgi_max_temp_file_size:1024M; # 设置临时文件大小,默认为1024M
    fastcgi_temp_file_write_size 200k;# 配置同时写入临时文件的数据量的大小,合理的配置可以避免磁盘IO负载过高,导致系统性能下降,默认为8KB或16KB
    fastcgi_temp_path /dev/shm; # 配置磁盘上的一个文件路径,用于临时存放代理服务器的大体积响应数据,如果proxy buffer 被装满后,响应数据仍然没有被Nginx服务器完全接收,响应数据就被会临时存放在该文件中
    • 1

    uwsgi_pass

    uwsgi_pass将请求传递给uwsgi服务器(如python服务)

    scgi_pass

    scgi_pass将请求传递给SCGI服务器

    memcached_pass

    memcached_pass将请求传递给memcached服务器

    https://zhhll.icu/2021/服务器/Nginx/6.配置反向代理/

    本文由 mdnice 多平台发布

  • 相关阅读:
    nacos核心概念一篇速过
    C/C++教程 从入门到精通《第二十三章》——Qt制作键盘记录器
    我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:双亲委派机制的工作原理及演示
    Linux_文件IO
    Linux搭建samba文件共享服务器,实现基于Linux和Windows的共享文件服务
    ADRC自抗扰控制
    Docker网络介绍
    关于c++的protected关键字
    【有限元分析】异型密封圈计算泄漏量与参数化优化过程(带分析源文件)
    CAN 协议常见面试题总结
  • 原文地址:https://blog.csdn.net/Lxn2zh/article/details/133880056