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

反向代理:以代理服务器来接受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. P1559 运动员最佳匹配问题[最大费用最大流]

    题目描述 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的男运动员竞赛优势:Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势 ...

  2. jdk1.6文档官方下载资源

    JDK1.6官方下载_JDK6官方下载地址:http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin- ...

  3. screen 调到后台使用

    yum -y install screen   screen -S  name     开启后台进程 screen -ls      显示进程 screen -r  ID号    进入 Ctrl+r再 ...

  4. jedis:分片集群使用

    jedis使用 引入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis ...

  5. fread和fwrite和feof读写二进制文件

    #include <stdio.h> #include <stdlib.h> void text_to_bin(char *argv[]); void bin_to_text( ...

  6. 基于verilog的分频器设计(奇偶分频原理及其电路实现:上)

    在一个数字系统中往往需要多种频率的时钟脉冲作为驱动源,这样就需要对FPGA的系统时钟(频率太高)进行分频.分频器主要分为奇数分频,偶数分频,半整数分频和小数分频,在对时钟要求不是很严格的FPGA系统中 ...

  7. Codevs 1070 普通递归关系(矩阵乘法)

    1070 普通递归关系 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 考虑以下定义在非负整数n上的递归关系 f(n) = f0 ...

  8. AutoCAD .NET二次开发(一)

    其他话不多说,直接进入主题,既然是二次开发,当然是用CAD平台已经封装好了很多类,我们需要熟悉和使用它们.常用的AutoCAD .NET API的四个主要DLL文件是: 名称 作用 备注 AcDbMg ...

  9. 洛谷P1288取数游戏2

    题目 博弈论. 考虑先手和后手的关系.然后可以通过统计数值不是0的数的个数来得出答案. \(Code\) #include <bits/stdc++.h> using namespace ...

  10. django部署后样式加载不出来解决方案

    django部署后样式加载不出来 1.html文件去掉<!DOCTYPE html> 2. location /static { alias /home/static/; } 3.STAT ...