• nginx 多级7层代理安装配置


    编译安装

    yum install zlib-devel -y

    wget https://nginx.org/download/nginx-1.15.12.tar.gz

    tar -zxf nginx-1.15.12.tar.gz

    ./configure --with-stream --prefix=/usr/local/nginx-1.15.12

    make && make install


    cd /usr/local/ && ln -s nginx-1.15.12 nginx


    启动脚本


    cat > /etc/systemd/system/nginx.service <<EOF
    [Unit]
    Description=nginx proxy
    After=network.target
    After=network-online.target
    Wants=network-online.target

    [Service]
    Type=forking
    ExecStartPre=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -p /usr/local/nginx -t
    ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -p /usr/local/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -p /usr/local/nginx -s reload
    PrivateTmp=true
    Restart=always
    RestartSec=5
    StartLimitInterval=0
    LimitNOFILE=65536

    [Install]
    WantedBy=multi-user.target
    EOF


    配置文件


    [root@wsjy-proxy01 conf]# cat nginx.conf
    worker_processes 1;
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        sendfile        on;
        keepalive_timeout  65;
        
        upstream wsjy-proxy {
            hash $remote_addr consistent;
            server 10.101.99.121:30080;
            server 10.101.99.122:30080;
            server 10.101.99.123:30080;
        }
    
    
        server {
            listen       80;
            location / {
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_pass http://wsjy-proxy;
              proxy_set_header Host $http_host;
              proxy_set_header Connection close;
              proxy_redirect  off;
            }
            access_log  logs/http-proxy-80.log  main;
    
            }
       
    }


    多级代理配置

    重点需将 http_host 变量传递至后端,否则可能到第二级代理会找不到资源。

    proxy_set_header Host $http_host;

    proxy_set_header Connection close;

  • 相关阅读:
    设计模式之模板方法
    UML中常见关系详解(泛化、实现、依赖、关联、组合、聚合)
    JAVA并行框架学习之ForkJoin
    生产环境上shell的解读
    设计模式之中介者模式
    设计模式之策略模式
    设计模式之状态模式
    深入理解动态代理
    深入理解Java虚拟机
    深入理解Java虚拟机
  • 原文地址:https://www.cnblogs.com/bugbeta/p/10886134.html
Copyright © 2020-2023  润新知