一、正向代理和反向代理的区别
代理其实就是一个中介,A和B本来可以直连,中间插入一个C,C就是中介。
(1)、正向代理:正向代理就是顺着请求的方向进行的代理,即代理服务器他是由你配置为你服务,去请求目标服务器地址,不直接访问资源,而是通过代理访问资源。
(2)、反向代理(Reverse Proxy):实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器,一般用于互联网访问不通局域网的时候。为了保证局域网不受其他web攻击,反向代理服务可在一定程度上保证局域网的安全。
二、Java项目实现案例
1、需要:一个可用的web服务,一个nginx服务器
nginx下载地址:http://nginx.org/
下载步骤:
之后,选择需要的版本下载
下载解压后如下图所示:
注意:不要点击nginx.exe启动nginx服务,通过cmd命令去启动(如果需要停止nginx服务,需要在任务管理器的详细信息中停止)
启动命令:cmd进入后,输入nginx后回车,如下没有报错就表示启动成功
其他常用nginx命令:
nginx -s quit 优雅停止nginx,有连接时会等连接请求完成再杀死worker进程
nginx -s reload 优雅重启,并重新载入配置文件nginx.conf
nginx -s reopen 重新打开日志文件,一般用于切割日志
nginx -v 查看版本
nginx -t 检查nginx的配置文件
nginx -h 查看帮助信息
nginx -V 详细版本信息,包括编译参数
nginx -c filename 指定配置文件
2、搭建一个springboot服务,启动地址设置为http://localhost:9999
3、配置nginx代理
找到conf下的nginx.conf文件,修改server部分的监听的ip和监听端口和代理的地址如下:(如下表示请求localhost:9990时,将地址代理到localhost:9999)
4、测试服务:
如下我们访问9990端口的服务时,可正常获取9999端口的服务
以上仅为个人学习心得,和大家分享,不喜勿喷!学海无涯苦作舟!