Http反响代理

1 案例1:反向代理

1.1 问题

通过配置代理服务器,实现以下目标:

  1. 代理服务器可以将远程的Web服务器页面缓存在本地
  2. 代理服务器端口设置为80端口
  3. 用户通过访问代理服务器即可获得远程Web服务器上的页面内容
  4. 远程Web服务器对客户端用户是透明的
  5. 利用缓存机制提高网站的响应速度

1.2 方案

使用3台RHEL7虚拟机,其中一台作为Squid代理服务器,该服务器用来连接两个网段,因此需要配置两块网卡,地址分别为192.168.4.5和192.168.2.5。一台作为客户端测试主机,IP地址为192.168.4.100。一台Web服务器,地址为192.168.2.100,该Web服务器为其他代理提供Web数据源,拓扑如图-1所示。

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:构建web服务器

1)使用yum安装web软件包

[[email protected] ~]# yum -y install httpd

[[email protected] ~]# rpm -q httpd
2)启用httpd服务,并设为开机自动运行

[[email protected] ~]# systemctl restart httpd ; systemctl enable httpd

httpd服务默认通过TCP 80端口监听客户端请求:

[[email protected] ~]# netstat -anptu | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      4206/httpd

3)为Web访问建立测试文件

在网站根目录/var/www/html下创建一个名为index.html的首页文件:

[[email protected] ~]# cat /var/www/html/index.html
<html>
<title>Welcome</title>
<body>
<h1>1176693506</h1>
</body>
</html>

步骤二:部署Squid代理服务器

1)使用yum安装squid软件包:

[[email protected] ~]# yum -y install squid
[[email protected] ~]#  rpm  -q  squid
squid-3.3.8-26.el7.x86_64

2)修改/etc/squid/squid.conf配置文件:

[[email protected] ~]# tail -5 /etc/squid/squid.conf
visible_hostname svr5.sumo.com     
cache_peer  192.168.2.100  parent 80   0  originserver  
cache_mem 128 MB
cache_dir ufs /var/spool/squid 200 16 128
http_access allow all

3)启动squid服务,并设置为开机启动:

[[email protected] ~]# systemctl restart squid ; systemctl enable squid

4)squid服务通过TCP 80端口监听客户端请求:

[[email protected] ~]# netstat -anptu | grep squid
tcp6       0      0 :::80                   :::*                    LISTEN      3769/(squid-1)

步骤三:客户端测试

通过/etc/hosts文件,配置域名解析,将域名解析为Squid服务器IP地址

[[email protected] ~]# elinks  --dump http://svr5.sumo.com
                                   1176693506

时间: 2024-08-03 08:24:20

Http反响代理的相关文章

Apache 如何反响代理tomcat并且实现Session保持

简介 LAMT=Linux+Apache+MySQL+Tomcat: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器: 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选: 架构需求 Tomcat实现JSP动态请求解析的基本架构 说明:由后端Tomcat负责解析动态jsp请求,但为了提高响应性能,在同一主机内配置Apache做反向代理,转发所有请求至tomcat即可: 完整的LNMT架构设计 说明:本篇博客主要讲解单台Hap

windows nginx根据请求地址配置反响代理(同一个ng端口)

#user  nobody; worker_processes  1; #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info; #pid        logs/nginx.pid; events { worker_connections  1024; } http { include       mime.types; default_type  appl

window 下 nginx的反响代理配置

大致情况是:给nginx配置两个域名,一个专门来处理静态资源的请求:172.17.2.137:9001 一个是处理动态请求:www.palmpaly.com 这个域名根据后面的路径又反向代理到两个不同的服务器, 一个服务器专门处理文件上传,一个服务器处理其他的action请求 #user  nobody; worker_processes  1; #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log

nginx 设置反响代理实现nginx集群

ginx.conf: worker_processes  1; events { worker_connections  1024; } http { include       mime.types; default_type  application/octet-stream; sendfile        on; keepalive_timeout  65; upstream backend { #ip_hash; server 192.168.1.251; server 192.168

Nginx反响代理LAMP解析PHP环境

1配置LAMP yum -y install httpd mariadb mariadb-server php php-mysql (mariadb是mysql的分支) 2启动服务 systemctl start httpd systemctl start mariadb 建立测试文件 vim /var/www/html/test.php <?phpphpinfo();?> 测试http://192.168.200.113/test.php 修改服务器的Nginx vim /usr/local

用Squid实现反向代理

Last-Modified: 告诉反向代理页面什么时间被修改 Expires: 告诉反向代理页面什么时间应该从缓冲区中删除 Cache-Control: 告诉反向代理页面是否应该被缓冲 Pragma: 告诉反向代理页面是否应该被缓冲. 一.反向代理的概念 什么是反向代理呢?其实,反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载.典型的结构如下图所示: Web服务

搭建nginx反向代理用做内网域名转发

基于域名的7层转发的实现(NAT+反向代理) 在实际办公网中,因为出口IP只有一个,要实现对外提供服务的话就必须得做端口映射,如果有多个服务要对外开放的话,这只能通过映射不同端口来区分,这在实际使用过程中非常的痛苦(记忆困难.一一对应关系也没有规律.访问的时候还得加端口),这个痛苦的问题用表格的形式来形象的描述如下: Public IP Public Port Number Internal IP Internal Port Number Note 1.1.1.1 80 192.168.1.10

使用apache反向代理tomacat

起源 在大部分的生产环境中,基本上使用的都是java程序,从而促进了各种应用程序中间件的产生,在这里大概有几种,tomcat作为最著名的开源servlet容器,jboss也是开源的,而且有管理界面,主要是redhat的,而weblogic则是oracle的商业中间件,而webspare则是IBM的商业中间件,其他的几个例如jetty,resin用的也就比较少了. 在安装tomcat的时候,每次首先需要安装的是jdk,提供jvm虚拟机,jre运行环境,从而每次安装jdk的时候,有几种选择,生产环境

基于域名的7层转发的实现(NAT+反向代理)

在公司的实际办公网中,因为出口IP只有一个,要实现对外提供服务的话就必须得做端口映射,如果有多个服务要对外开放的话,这只能通过映射不同端口来区分,这在实际使用过程中非常的痛苦(记忆困难.一一对应关系也没有规律.访问的时候还得加端口),这个痛苦的问题用表格的形式来形象的描述如下: Public IP Public Port Number Internal IP Internal Port Number Note 1.1.1.1 80 192.168.1.10 80 service A 1.1.1.