1. 什么是反向代理
在介绍反向代理前,先介绍下正向代理。
在访问一个网站的时候,不能直接访问网站的真正服务器,必须通过一个代理服务器访问到真正服务器,而在电脑浏览器端必须配置好代理服务器,这个访问过程为正向代理。如下图:
在访问一个网站的时候,不能直接访问网站的真正服务器,而是通过反向代理服务器转发到相应的真正服务器。浏览器端无需做任何配置,整个反向代理服务器和真正服务器对浏览器来说就是一个服务器,这个访问过程为反向代理。如下图:
2. 反向代理配置
1) 首先,我的电脑里安装了 tomcat
2) 打开tomcat的server.xml,可以看见我的tomcat端口号 8080
3) 我在tomcat的 webapps 下新建了一个文件夹 testNginx 。
在testNginx文件夹下新建了一个 test.html
test.html文件的内容为 <h2>test nginx</h2>
4) 我的ip为 192.168.33.200,在启动tomcat后,通过浏览器访问test.html页面,展示如下:
以上是直接通过tomcat访问了静态资源。下面我们配置nginx反向代理,通过nginx访问该test.html页面
5) 进入nginx的conf文件夹,编辑nginx.conf配置文件。
6) 打开nginx.conf后,查看 server 处,配置如下几项:
listen nginx访问端口号 这里默认为 80 用户可自定义配置
server_name nginx访问地址 这里我配置 192.168.33.200 用户可以配置自己的域
名,若配置的域名未对外开放,则需要在操作系统host文件中配置域名
对应的ip
location 配置对应的访问路径。默认为 / 即根目录,我在这里又配置了一个
location指定了一个我自定义的目录 ~ /testNginx/ 即通过(ip 或 域
名)/ testNginx/ 访问指定的跳转地址下的 testNginx 目录。
proxy_pass 配置指定的转发地址 我这里配置的是http://127.0.0.1:8080
我如上的nginx配置,实现了浏览器端通过 访问到nginx,然后nginx 把我的请求转发到
7) 启动nginx后,浏览器端请求http://192.168.33.200/testNginx/test.html 后,nginx成功把我们的请求转发到了 。我们可以看见访问结果和直接通过tomcat访问的效果是一样的。
注意:操作系统防火墙可能会拦截相关的端口。需要开放相应的端口号或关闭防火墙。我这里的端口号为80和8080。
至此,我们成功完成了nginx反向代理的配置。本期就到这里,下期介绍nginx负载均衡。欢迎关注留言加点赞。
本文暂时没有评论,来添加一个吧(●'◡'●)