首页 > 编程知识 正文

nginx二次反向代理,nginx反向代理80端口

时间:2023-05-05 03:42:18 阅读:115149 作者:4080

反向代理通常的代理服务器仅用于代理内部网络与互联网的连接请求,客户端指定代理服务器,将本来应该直接发送到Web服务器的http请求发送到代理服务器,代理服务器将发送到互联网

另一方面,Reverse Proxy方法是代理服务器接收internet上的连接请求,将请求转发到内部网络上的服务器,然后将服务器获得的结果返回到internet上的连接请求的客户端的方法,代理服务器对外使用

下图:

代理服务器和反向代理服务器

代理服务器通常分为两类:传输代理服务器和反向代理服务器。 传输代理服务器通常也简称为代理服务器,我们经常提到的代理服务器是传输代理服务器。

传输代理服务器

典型的传输代理服务器是客户端和原始服务器之间的中间服务器。 为了从原始服务器检索内容,客户端向代理服务器发送请求,代理服务器从原始服务器检索内容并返回给客户端。 客户端必须专门配置传输代理才能访问其他站点,如在浏览器中设置代理服务器的地址和端口号。

传输代理服务器的一个典型应用是为防火墙后面的内部客户端提供对外部因特网网的接入。 例如,校园网用户通过代理访问海外网站,公司内网络用户通过公司的集成代理访问外部互联网网等。 传输代理服务器还可以使用缓存来缓解原始服务器的负载并提供响应速度。

反向代理服务器

相反,在客户端看来,反向代理服务器就像普通的Web服务器。 客户端不要有特殊配置。 客户端发送普通请求,获取反向代理所属空间的内容。 反向代理确定发送这些请求的位置,并返回请求内容,就像它本身是原始服务一样。

反向代理服务器的一个常见用途是为防火墙后面的服务器提供外部互联网用户的访问。 反向代理可以用于为多个后端服务器提供负载平衡,也可以为速度较慢的后端服务器提供缓存。 反向代理还可以方便地将多个服务器映射到同一URL空间。

两者的区别

两者的共同点都是用户与服务器之间的中介,完成用户的请求和结果的传输。 主要区别如下

(1)转发代理的内部是客户端,反向代理的内部是服务器。 内联网客户端通过传输代理服务器访问外部网络,外部用户通过反向代理访问内部服务器。

(2)转发代理通常接受客户端发送的请求,而反向代理通常只接受来自指定服务器的请求。 校园网中的用户可以通过传输代理访问国外的任何网站。 如果没有限制,则只有特定请求被发送到反向代理,而反向代理被发送到内部服务器。

反向代理是代理服务器接收internet上的连接请求,将该请求转发到内部网络上的服务器,然后将服务器获得的结果返回到internet上连接请求的客户端。 在这种情况下,代理服务器对外表示为Web服务器,但该服务器不存在任何资源,并且用户请求的所有数据都在内部网络上,因此在受到攻击时,直接攻击的目标是反向代理服务器,y

反向代理服务器的一个很好的应用是内容分发网络(cdn )。 基本思想是尽量避免可能影响互联网上数据传输速度和稳定性的瓶颈和环节,使内容传输更快、更稳定。 通过在网络各处安装由反向代理节点服务器构成的基于现有互联网的智能虚拟网络,CDN系统可以实现网络流量和各节点的连接、负载情况以及到用户的距离和响应时间等综合其目的是使用户能够就近获取所需内容,有效解决网络拥塞,提高用户访问站点的响应速度。

反向代理是指代理服务器接收internet上的连接请求,将请求转发到内部网络上的服务器,然后将服务器获得的结果返回到请求internet上连接的客户端。 在这种情况下,代理服务器对外表示为一个服务器。

如果代理服务器代理外部网络上的主机并有权访问内部网络,则代理服务的方式称为反向代理服务。 在这种情况下,代理服务器对外被表示为Web服务器,外部网络不需要特定配置,并且可容易地被作为标准Web服务器进行处理。 区别在于,此服务器没有存储任何网页的实际数据,所有静态网页或CGI程序都存储在内部Web服务器上。 因此,对反向代理服务器的攻击不会破坏网页信息,从而提高了Web服务器的安全性。

例如,即使想买韩国的化妆品,但因为地理上的限制买不到想要的产品,所以这个时候只能让别人代购买想要的产品。 这里的代购是代理服务器。

如果你要在天猫国际购买你想要的产品,这里的天猫国际是反向代理服务器。

如果还不理解什么是反向代理请看这里

nginx+tomcat反向代理 1  需求

         两个tomcat服务通过nginx反向代理,本例子使用三台虚拟机进行测试,

         nginx服务器:192.168.101.3

         tomcat1服务器:192.168.101.5

         tomcat2服务器:192.168.101.6

如下图:

 

 

1.2.2  启动tomcat

         tomcat使用apache-tomcat-7.0.57版本,在192.168.101.5和192.168.101.6虚拟机上启动tomcat。

 

1.2.3  nginx反向代理配置

根据上边的需求在nginx.conf文件中配置反向代理,如下:

tomcat1服务器

upstream tomcat_server1 { server 192.168.101.5:8080; }

#配置一个代理即tomcat2服务器

   

upstream tomcat_server2 { server 192.168.101.6:8080; }

 

#配置一个虚拟主机

   

server { listen 80; server_name aaa.test.com; location / { #域名aaa.test.com的请求全部转发到tomcat_server1即tomcat1服务上 proxy_passhttp://tomcat_server1; #欢迎页面,按照从左到右的顺序查找页面 index index.jsp index.htmlindex.htm; } }

 

  

server { listen 80; server_name bbb.test.com; location / { #域名bbb.test.com的请求全部转发到tomcat_server2即tomcat2服务上 proxy_passhttp://tomcat_server2; index index.jsp index.htmlindex.htm; } }

 

1.2.4  测试

分别修改两个tomcat下的webapps/ROOT/index.jsp的内容,使用tomcat1和tomcat2两个服务首页显示不同的内容,如下:

tomcat1下的index.jsp修改后:

 

tomcat2下的index.jsp修改后:

 

分别访问aaa.test.com、bbb.test.com测试反向代理。

 

请求访问aaa.test.com通过nginx代理访问tomcat1,请求访问bbb.test.com通过nginx代理访问tomcat2。

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。