一,什么是反向代理:
反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。
二,反向代理的主要作用:
目前web网站使用反向代理,除了可以防止外网对内网服务器的恶性攻击、缓存以减少服务器的压力和访问安全控制之外,
还可以进行负载均衡,将用户请求分配给多个服务器。
三,配置反向代理(Nginx):
Nginx作为近年来较火的反向代理服务器,安装在目的主机端,主要用于转发客户机请求,后台有多个http服务器提供服务,
nginx的功能就是把请求转发给后面的服务器,决定哪台目标主机来处理当前请求。
(1) 模拟2个http服务器作为目标主机, 分别将这两台主机的端口改为8081和8082;
(2) 配置IP域名如下:
192.168.72.49test8081.com
192.168.72.49 test8082.com
(3) 配置nginx.conf,如下:- upstream tomcatserver1 {
- server 192.168.72.49:8081;
- }
- upstream tomcatserver2 {
- server192.168.72.49:8082;
- }
- server {
- listen 80;
- server_name test8081.com;
- #charset koi8-r;
- #access_log logs/test8081.com.log main;
- location / {
- proxy_pass http://tomcatserver1; //反向代理服务器的地址
- index index.html index.htm;
- }
- }
- server {
- listen 80;
- server_name test8082.com;
- #charset koi8-r;
- #access_log logs/test8082.com.log main;
- location / {
- proxy_pass http://tomcatserver2;
- index index.html index.htm;
- }
- }
(4) 重启Nginx服务,验证结果。
service nginx restart
使用浏览器访问test8081.com,由于nginx反向代理接受客户机请求,找到server_name为test8081.com的server节点, 根据proxy_pass对应的http路径,将请求转发到upstream tomcatserver1上,即端口号为8081的tomcat服务器。