Nginx配置代理、反向代理

       现部署两个应用服务:http://192.168.81.200:8081/serverA 和192.168.81.200:8082/serverB,现需要将这两个服务通过一个端口81代理出来供外部访问,配置如下:

upstream   sA {
   server  192.168.81.200:8081;
}
upstream   sB {
   server  192.168.81.200:8082;
}
server {
   listen 81;
   server_name master; 
   # 反向代理serverA
   location /asReverse/ {
         #代理地址一定要以/结尾
        proxy_pass http://sA/serverA/;
        proxy_set_header   Host    $host;
        proxy_set_header   X-Real-IP   $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;

     }

   #反向代理serverB
   location /bsReverse/ {
        #代理地址一定要以/结尾
        proxy_pass http://sB/serverB/;
        proxy_set_header   Host    $host;
        proxy_set_header   X-Real-IP   $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
	   
     }
}

server {
   listen 82;
   server_name master; 
   # 正向代理serverA服务
    locaton  /asForward/{
       proxy_pass  http://192.168.81.200:8081/serverA/;
       proxy_set_header host $host;
       #获取客户端真实IP
       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;
       #sub_filte替换: 解决代理webservice的时候,location协议、端口被转换的问题
       #sub_filter 'location="http:ip:port' 'location="http:ip:newport';
	   #sub_filter_once off;
	   #sub_filter_types text/xml
    } 
   
    #解决代理过程中无法访问js css等静态资源
   location  / {
       proxy_pass  http://192.168.81.200:8082;
       proxy_redirect off;
       proxy_set_header Host $http_host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
       #if ($request_uri ~* \.(js|css)$ ) {
       #   将路径中的svc替换为api
       #   rewrite ^/svc/(.*)$  /api/$1 break;
       #}

    }

    #配置静态资源服务,通过localhost/file/可以访问file目录下的静态资源
    location /file {
          # root指定相对路径,根目录在html
          root html;
          #alias指定绝对路径
          # alias  /usr/local/profile/file
     }
        
}

          外部访问serverA和serverB的地址:

         http://192.168.81.200:81/as/serverA(或者http://192.168.81.200:82/asForward/)

         http://192.168.81.200:81/bs/serverB

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值