反向代理
反向代理服务器存在于服务器端,通过缓冲经常被请求的页面来缓解服务器的压力,将客户端的请求转发给内部的目标服务器;并将从服务器上得到的结果返回给客户端,此时代理服务器与目标主机一起对面表现为一个服务端。
反向代理的主要应用场景
- 防止恶意攻击,使用反向代理可以防止外网对内网服务器的恶意攻击
- 可以缓存以减少服务器的压力
- 安全访问控制
- 负载均衡,将用户请求转发给多个服务器
配置实例一
需求
在 windows 中请求 www.yuu.com
域名,Nginx 对域名进行代理,转发到内部 tomcat 服务器
实现
-
修改 Windows hosts 文件,在
C:\Windows\System32\drivers\etc
目录下192.148.145.136 www.yuu.com
-
配置
nginx.conf
,在/usr/local/nginx/conf
目录下只需要修改两个配置
server_name
、proxy_pass
配置实例二
需求
- 请求 uri 中有 api 的转发的 8080 的 tomcat 服务器
- 请求 uri 中有 web 的转发到 8081 的 tomcat 服务器
实现
部署两个 tomcat
- 修改端口号,
tomcat/conf/server.xml
- 启动两个 tomcat 服务器
配置 nginx
配置两个 location,请求路径中包含 api 的,转发到 8080 服务器,请求路径中包含 web 的转发到 8081 服务器。