nginx请求转发

简介: <div class="markdown_views"><h2 id="nginx请求转发">nginx请求转发</h2><p>nginx.conf 配置文件如下:</p><pre class="prettyprint"><code class=" hljs bash"><span class="hljs-comment">#user nobody;</span>

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;
        }


}

参考:负载均衡

我的文章

相关文章
|
5月前
|
应用服务中间件 nginx
百度搜索:蓝易云【HTTP请求是如何关联Nginx server{}块的?】
总结来说,Nginx中的 `server{}`块用于关联HTTP请求和虚拟主机,通过配置不同的 `server{}`块,可以实现多个域名或IP地址的请求分发和处理。这样,Nginx可以根据不同的请求来提供不同的服务和内容。
61 0
|
1天前
|
负载均衡 算法 应用服务中间件
Nginx入门 -- 理解 Nginx 的请求处理流程
Nginx入门 -- 理解 Nginx 的请求处理流程
9 0
|
1天前
|
JSON 网络协议 应用服务中间件
Nginx入门 -- 理解Nginx基础概念:请求处理(Request)
Nginx入门 -- 理解Nginx基础概念:请求处理(Request)
6 0
|
2月前
|
NoSQL Java 应用服务中间件
使用Redis和Nginx分别实现限制接口请求频率
这篇文章介绍了如何使用Redis和Nginx分别实现限制接口请求频率的方法,包括具体的命令使用、代码实现和配置步骤。
46 0
|
3月前
|
应用服务中间件 nginx
如何通过Nginx配置将请求转发到conf.d目录下的各个配置文件
如何通过Nginx配置将请求转发到conf.d目录下的各个配置文件
371 2
|
4月前
|
负载均衡 应用服务中间件 nginx
经验大分享:nginx实现请求转发
经验大分享:nginx实现请求转发
252 1
|
3月前
|
Kubernetes Java 应用服务中间件
Kubernetes 上搭建一个 Nginx 的 Pod,并确保传入的 API 请求被均匀地分发到两个 Java 业务 Pod 上
Kubernetes 上搭建一个 Nginx 的 Pod,并确保传入的 API 请求被均匀地分发到两个 Java 业务 Pod 上
58 0
|
4月前
|
应用服务中间件 nginx Windows
nginx实现网站url带参跳转 POST请求GET请求跳转
nginx实现网站url带参跳转 POST请求GET请求跳转
196 1
|
应用服务中间件 nginx
nginx输入请求的header和body到日志
nginx输入请求的header和body到日志
578 1
|
12月前
|
应用服务中间件 nginx
百度搜索:蓝易云 ,Nginx设置禁用 OPTIONS 请求以及允许跨域教程!
通过按照上述步骤,在Nginx中设置禁用OPTIONS请求和允许跨域。请确保在编辑Nginx配置文件时使用正确的服务器名称或IP地址。
92 0