当前位置: 首页 > news >正文

nginx请求转发

nginx请求转发

nginx.conf 配置文件如下:


#user  nobody;
worker_processes  1;

error_log  logs/error.log error;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


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"';

    #access_log  logs/access.log  main;
    access_log off;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    client_max_body_size 20m;
        client_body_buffer_size 128k;
    gzip  on;

    send_timeout 500;
        proxy_read_timeout 500;
        proxy_connect_timeout 500;

    server {
        listen       80;

        location  /ABCBank {
             proxy_pass    http://173.16.15.7:867/ABCBank;
             proxy_redirect off ;

             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location  /endpoint {
             proxy_pass    http://173.16.15.7:867/endpoint;
             proxy_redirect off ;

             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location  /AbcManagement {
             proxy_pass    http://173.16.15.7:867/AbcManagement;
             proxy_redirect off ;

             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }


}


另外一个实例

server {
                listen       81;

                location  /chanjet {
                proxy_pass    http://10.1.243.55:8080/chanjet;
                proxy_redirect off ;

                 proxy_set_header Host $host;
                 proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header REMOTE-HOST $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
        }

配置上述文件的ip是: 172.18.22.72
10.1.243.55是我的ip
若蒙访问的地址是: http://172.18.22.72:81/chanjet/workbench/replacemobile/unbindCode?mobile=123
实际上是访问我的电脑

设置nginx 的web目录

把nginx当做静态服务器

server {
        listen       80;

        location /chanjet {
                add_header Access-Control-Allow-Origin *;
            root /opt/yunyingyong/mainsite/mainsite/src/web_js/www;
        }

        location /chanjet/customer {
             proxy_pass    http://172.18.22.170:8080/chanjet/customer;
             #proxy_redirect off ;

             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location / {
             proxy_pass    http://172.18.22.170:8080;
             #proxy_redirect off ;

             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

负载均衡

目标:我访问jsp/do/action时,会分配到
localhost:8082
localhost:8080
nginx.conf如下:


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


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"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
 #设定负载均衡的服务器列表
     upstream localhost222 {
    #weigth参数表示权值,权值越高被分配到的几率越大
    server localhost:8082 weight=5;#本机上的Squid开启3128端口
    server localhost:8080  weight=5;

    }

    server {
        listen       80;
        server_name  localhost222;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~* \.(jsp|do|action)$
      {

            index index.jsp;
            proxy_set_header Host $host;
            proxy_pass http://localhost222;
            proxy_set_header X-Real-IP $remote_addr;
        }


}

参考:负载均衡

我的文章

相关文章:

  • csv文件的格式
  • tomcat环境变量的配置
  • 人工智能技术会逐渐淘汰掉哪些职业?
  • 多线程编程(四)--线程同步
  • P4389 付公主的背包
  • 通过反射将数据库数据输入到指定类
  • java 中类似于goto语句的语法
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • iOS网络-NSURLSession/AFNetworking发送HTTPS网络请求
  • 打印机连接常见故障
  • -----二叉树的遍历-------
  • Highcharts tooltip显示数量和百分比
  • Listen第二个参数的意义
  • 发布mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容
  • 在Unity中实现一个简单的消息管理器
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • Android交互
  • canvas 绘制双线技巧
  • CSS魔法堂:Absolute Positioning就这个样
  • java 多线程基础, 我觉得还是有必要看看的
  • javascript从右向左截取指定位数字符的3种方法
  • JS变量作用域
  • PAT A1050
  • Python学习之路13-记分
  • Yeoman_Bower_Grunt
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 两列自适应布局方案整理
  • 七牛云假注销小指南
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 怎么将电脑中的声音录制成WAV格式
  • mysql面试题分组并合并列
  • 带你开发类似Pokemon Go的AR游戏
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 通过调用文摘列表API获取文摘
  • 整理一些计算机基础知识!
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​configparser --- 配置文件解析器​
  • ​决定德拉瓦州地区版图的关键历史事件
  • #Linux(权限管理)
  • (1) caustics\
  • (C++)八皇后问题
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (转)jQuery 基础
  • (转)LINQ之路
  • (转)平衡树
  • **PHP分步表单提交思路(分页表单提交)
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET 4.0中的泛型协变和反变
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .Net 路由处理厉害了
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .Net(C#)常用转换byte转uint32、byte转float等