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

    #配置静态资源服务,通过localhost/file/可以访问file目录下的静态资源
    location /file {
         root html;
     }
        
}

          外部访问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
    评论
要设置nginx代理服务器的主备,可以采用以下步骤: 1. 在两台服务器上都安装nginx,并确保它们的配置文件相同。 2. 配置服务器的nginx,将它作为代理服务器。在主服务器的nginx配置文件中,将upstream块中的服务器地址设置为实际的后端服务器地址。 3. 配置备份服务器的nginx,将它作为备份代理服务器。在备份服务器的nginx配置文件中,将upstream块中的服务器地址设置为主服务器的IP地址,同时添加一个backup参数,表示它是备份服务器。 4. 配置服务器与备份服务器之间的健康检查。可以使用nginx的ngx_http_healthcheck_module模块来实现健康检查。在主服务器的nginx配置文件中,添加一个health_check块,指定检查的URL和检查的频率。在备份服务器的nginx配置文件中同样添加一个health_check块,但是将check参数设置为off,表示它不会进行健康检查。 5. 配置主备切换。可以使用nginx的ngx_http_upstream_module模块来实现主备切换。在主服务器的nginx配置文件中,添加一个failover块,指定备份服务器的IP地址和备份服务器的健康状态。如果主服务器无法正常工作,nginx会自动将请求转发到备份服务器。在备份服务器的nginx配置文件中同样添加一个failover块,但是将backup参数设置为off,表示它不会进行主备切换。 6. 测试主备切换是否正常工作。可以使用curl或者其他工具来模拟请求,然后手动关闭主服务器来测试备份服务器是否能够接管请求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值