• nginx作为正向代理,反向代理的一些应用


    正向代理代理的对象是客户端

    反向代理代理的对象是服务端

    举例说下nginx作为正向代理作访问控制

    server{
        listen   80;
        server_name localhost jeson.gaosf.com;
        access_log /var/log/nginx/log/host.access.log main;
    
        location /{
            if($http_x_forwarded_for !~* "^116.62.103.228"){
                return 403;
            }
            root /opt/app/code;
            index index.html index.htm;
        }
    }

    利用http_x_forwarded_for 来识别是不是116.62.103.228这个ip,不是的话就返回403

    反向代理的例子:

    在/etc/nginx/conf.d下的realserver.conf里面

    server{
        listen   8080;
        server_name localhost jeson.gaosf.com;
        access_log /var/log/nginx/log/serve.access.log main;
    
        location /{
            root /opt/app/code2;
            index index.html index.htm;
        }
    }

    在/opt/app/code2下有个test_proxy.html文件

    在/etc/nginx/conf.d下的fx_proxy.conf里面

    server{
        listen   80;
        server_name localhost jeson.gaosf.com;
        access_log /var/log/nginx/log/host.access.log main;
    
        location /{
            root /usr/share/nginx/html;
            index index.html index.htm;
        }
        
        //当匹配test_proxy.html,会代理8080端口
        location ~/test_proxy.html${
            proxy_pass http://127.0.0.1:8080;
        }
    }

    然后查看下

    netstat -luntp|grep nginx

    查看下状态

    location /{
            proxy_pass http://127.0.0.1:8080;
            proxy_redirect default;
            
            proxy_set_header Host $http_host;
            proxy_set_header  X-Real-IP  $remote_addr;
    
            proxy_connect_timeout 30;
            proxy_send_timeout  60;
            proxy_read_timeout   60;
    
            proxy_buffer_size 32k;
            proxy_buffering on;
            proxy_buffers 4 128k;
            proxy_busy_buffers_size 256k;
            proxy_max_temp_file_size  256k;

    proxy_buffer是为了减少I/O   ,开启内存缓存区

     对于上面这种可读性相对较差

    可以这样把下面的提取出来,用一个文件名来代替,然后把内容当道一个文件里

    location /{

      proxy_pass  http://127.0.0.1:8080;

         include proxy_params;

    }

  • 相关阅读:
    php数据缓存到文件类设计
    php静态文件缓存示例
    php array_merge和“+”的区别和使用《细说php2》
    kafka环境安装及简单使用(单机版)
    Protobuf的上手使用
    Java8新特性概览
    Mock测试框架(Mockito为例)
    Java序列化与反序列化
    系统/项目环境搭建
    关于Tomcat服务器中的协议及请求过程
  • 原文地址:https://www.cnblogs.com/gaosf/p/10223804.html
Copyright © 2020-2023  润新知