本站文章(技术文章和tank手记)均为社长矢量比特工作.实践.学习中的心得原创,请勿转载!

应对防火墙使用nginx快速搭建http协议代理

web服务器 矢量比特

业务场景是监控的需要,对于solr的运维每台服务器上都有单独自带的监控ui,要访问就得把客户端加入solr防火墙白名单内,而工作电脑的IP是动态分配的,每次重启都需要在几十台服务

       业务场景是监控的需要,对于solr的运维每台服务器上都有单独自带的监控ui,要访问就得把客户端加入solr防火墙白名单内,而工作电脑的IP是动态分配的,每次重启都需要在几十台服务器上改防火墙,非常不便,于是就想到使用代理解决,每次访问通过固定代理去获取数据,那么只需要将代理的ip地址加入到solr访问的白名单即可。

       先晒一晒solr的监控页面:

图片.png

     为了能够访问监控的同时,也可以访问公司内部的其它资源,配置一个内部通用http协议代理,nginx配置如下:

server {
 listen 7777;
 server_name solr;
 location / {
   proxy_pass $scheme://$http_host$request_uri;
   proxy_set_header Host $host;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
 location /solr {
   proxy_pass $scheme://$host:8032$request_uri;
   proxy_set_header Host $host;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

       在之前的应用上,单独起一个server做代理,对于solr单独配置一个location,采用$host加端口,是因为在cloud里做监控间连接跳转时用到了302,因为监控用了8032端口,此时的返回处理出现错误,遇到这个坑才这样填了一下。

       再说一下$http_host和$host的差别是一个带请求端口,一个不带,所以在通用代理中要使用$http_host变量。

       代理配好后,要查看监控对于用户端浏览器的配置如下:

图片.png

运维网咖社”原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://www.net-add.com


©本站文章(技术文章和tank手记)均为社长"矢量比特"工作.实践.学习中的心得原创或手记,请勿转载!

喜欢 (8) or 分享 (0)
欢迎扫描关注微信公众号【运维网咖社
社长"矢量比特",曾就职中软、新浪,现任职小米,致力于DevOps运维体系的探索和运维技术的研究实践.