首先借用一下前辈的话,解释下反向代理是什么?

反向代理:以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
其实反向代理的作用就是起到保护后端服务器的作用
如图:

看了这个图,好多小朋友都懂了,大概可以达成两点共识。

①:域名解析的是代理服务器。

②:反向代理重定向请求的是内网IP。前面我们公司的小哥配的是公网IP,一是不安全(公网IP+端口照样能够访问,代理个啥玩意呢),二是响应速度(内网在速率上秒杀外网,而且减少了过程。举个例子:代理和应用服务器在一个屋子,当别人敲门找到代理说请求应用。内网相当于直接把请求告诉代理,外网访问就是告诉人家你去那个地址再敲一次门提交你的请求)。

下面开始干活

一、安装发布代理服务haproxy

①:准备Haproxy1.4.24安装包。并上传到服务器

②:解压

tar -zxf haproxy-1.4..tar.gz

③:安装

进入haproxy目录,逐条执行以下2条命令:

make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy

④:配置

编辑 /usr/local/haproxy/haproxy.cfg 配置文件,配置反向代理

global
maxconn 15000
nbproc 1
daemon defaults
option httpclose
maxconn 65535
timeout connect 600000ms
timeout client 600000ms
timeout server 600000ms
log 127.0.0.1 local0 err listen win_ss
bind 0.0.0.0:10008
mode tcp
#balance source
server s1 8.8.8.8:1234 weight 128 maxconn 2000 inter 60s check rise 1 fall 3
server s2 8.8.4.4:1235 weight 128 maxconn 2000 inter 60s check rise 1 fall 3 listen status
bind 0.0.0.0:1188
mode http
stats refresh 30s
stats uri /
stats auth admin:admin
#stats hide-version
stats admin if TRUE ##代理http端口
frontend http_in
##使用http的方式代理
bind 0.0.0.0:80
mode http
option httpclose
option forwardfor #配置第一个项目请求
acl project1-server path_beg -i /project1/
use_backend project1-server if project1-server ##以下表示请求在以上路径都不符合时,使用该后台服务器处理
default_backend root #当以域名+/project1请求时转发到下面地址,内网ip+端口+项目名(项目名一个时可以不写)
backend project1-server
mode http
option forwardfor
server wget 182.15.0.12:80/project1 check inter 10s #匹配不到路径时默认转发的地址
backend root
mode http
option forwardfor
server cas01 182.15.0.5:80 check inter 10s

⑤:启动

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

二、部署应用服务

  打包到tomcat发布就不说了。讲两点:

  ①:关闭安全组对外访问的端口,比如你以前应用服务器tomcat的端口80,8080等等那些,全部关闭。当然防火墙对应的tomcat端口别关闭了。这是两回事,防火墙建议开启,好东西免费干嘛不用。

  ②:安全组放通内网访问策略,这是一个泛域匹配放通所有,并不是说只通配0-12或0-16的子域。想要深入了解可以百度。 

162.16.0.0/     ALL
192.168.0.0/ ALL

这样反向代理就完成了,输入域名就可以访问了。

而你再输入应用服务器的公网IP+端口访问,不好意思访问不了。这样代理的目的就达到了。

一般代理服务器的配置和带宽比应用服务器的配置要高,这样用户体验也提升了。

记一次haproxy反向代理配置的更多相关文章

  1. haproxy反向代理配置示例

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  2. Httpd Nginx Haproxy反向代理

    Apache反向代理 部署httpd反向代理 准备工作: 三台虚拟机Ip地址分配: linux-node1:192.168.1.5 (源码编译httpd,并且配置proxy用于代理后端的httpd服务 ...

  3. Nginx、haproxy反向代理设置

    Nginx反向代理配置: #user nobody; worker_processes ; events { worker_connections ; } http { include mime.ty ...

  4. haproxy反向代理环境部署(http和https代理)

    操作背景:前方有一台haproxy代理机器(115.100.120.57/192.168.1.7),后方两台realserver机器(192.168.1.150.192.168.1.151,没有公网i ...

  5. apache 反向代理配置

    配置前资料检查: 1.可以使用的apache 安装apache服务:打开cmd , 在apache的bin目录下执行以下命令 httpd -k install -n apache2.2    其中&q ...

  6. nginx反向代理配置及优化

    nginx反向代理配置及优化前言: 由于服务器apache抗不住目前的并发.加上前端squid配置后,问题依然无法解决.而页面程序大部分是动态.无法使用fastcgi来处理.因此想使用nginx做为反 ...

  7. apache 反向代理配置(ubuntu)

    1.配置apache2的站点文件 cd /etc/apache2/site-avaliable sudo vim edy.conf 具体配置如下: # 反向代理配置 # 监听所有80端口的访问 < ...

  8. nginx反向代理配置

    最近在项目中使用nginx反向代理,根据不同的请求路径,将请求分发到不同服务.下面的示例主要完成如下功能 /prod/路径的请求分发到prod服务 /test/路径的请求分发到test服务 创建文件夹 ...

  9. angular反向代理配置

    Angular-cli 是基于webpack 的一套针对提升angular开发体验的命令行工具. 开发vue的时候,基于webpack的时候当时配置一个反向代理以完全实现前后端分离的体验,既然webp ...

随机推荐

  1. csr_matrix

    from scipy.sparse import * row = [0,0,0,1,1,1,2,2,2]#行指标col = [0,1,2,0,1,2,0,1,2]#列指标data = [1,0,1,0 ...

  2. BZOJ2938 [Poi2000]病毒 和 BZOJ5261 Rhyme

    [Poi2000]病毒 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码 ...

  3. (java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出

    selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以 ...

  4. Oracle字符串中包含数字、特殊符号的排序

    问题描述: 某小区,需要按照小区.楼栋.单元号.房间号进行排序,但是按照地址描述排序时,因为字符串中包含数字,所以造成了如下的结果, 1号楼之后应该是2号楼,但是查询结果却是10号楼 . 尝试解决 使 ...

  5. docker 挂载实现容器配置更改为外部文件

    docker安装镜像后,每个服务都是独立的容器,容器与容器之间可以说是没关系,隔离独立的. 而且虚拟出来的这些容器里面的基本安装工具都是没有的,比如vi,vim等等.需要使用,还得安装处理. 那么我们 ...

  6. PostgreSQL 输出 JSON 结果

    PostGreSQL 从 9.2 开始增加对 JSON 的支持.9.5 已经支持多个 JSON 函数,见 http://www.postgres.cn/docs/9.5/functions-json. ...

  7. [转] Raspberry Pi 樹莓派使用場合及時機

    在買了 Raspberry Pi 後,到底能拿來做什麼事情呢?有幾個想法一起分享   這裡有初學者教學的影片,非常值得一看. http://www.youtube.com/user/Raspberry ...

  8. ACwing : 798. 差分矩阵

    不得不说之前的差分我真的是掌握的不好.. 一维差分确实简单一看就会,但是学会了之后却并不能灵活的运用. 而二维的差分我甚至还琢磨了很长时间 懒得画图所以没有图..对于二维差分的定义,百度百科是这么说的 ...

  9. python中创建字典的多种方法

    dict={} dict['key']='value dict={'key':"value","key2":"value2"} dict=d ...

  10. Java 冒泡排序算法

    public class StringSampleDemo { public static void main(String[] args) { int[] arr = {1, 2, -20, 20, ...