Nginx与反向代理
一,什么是反向代理: 反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给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,如下:
[Java] 纯文本查看 复制代码 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服务器。
|