Nginx反向代理

1:反向代理是什么

反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

2:反向代理的实现

首先准备两个tomcat,修改tomcat的首页方便辨别

  1. 打开nginx目录下的conf中的nginx.conf
    接下来的操作基本都在http块下进行,添加的组件都在http下
  2. 添加两个upstream(服务器组),里面填写服务器的IP和端口
    这里测试就先打两个tomcat的ip和端口
  3. ip反代 nginx nginx反代教程_nginx

  4. 添加两个server
  5. ip反代 nginx nginx反代教程_服务器_02

listen:表示端口(在不输入端口的情况下,默认端口就是80)
server_name:访问路径(浏览器访问的地址)
location / :表示路径匹配
如:location / 则需要访问location/
location /sy/ 则需要访问location/sy/,如果是linux的话就是:linuxIP/sy/
proxz_pass:设置你要代理的服务器地址,这里也可以填写服务器组的名字
tomcatserver1就是上面服务器组的名字之一,也可以把tomcatserver1直接替换成IP
proxz_pass后面的index等就是访问的网页顺序,它会去你这个网页下去找有没有index,index.html,index,htm这些网站

  1. 保存并退出
    如果nginx正在运行中输入./nginx -s reload重新加载一下
    没有运行直接启动就行了
  2. 测试
    输入8080.max.com就能访问第一个tomcat的页面
  3. ip反代 nginx nginx反代教程_tomcat_03

  4. 输入8081.max.com就能访问第二个tomcat的页面
  5. ip反代 nginx nginx反代教程_服务器_04

反向代理就完成了
如果是访问这些路径时无法访问,则需要修改hosts文件

修改hosts文件

  1. 修改C:\windows\System32\drivers\etc这个文件下的hosts

    修改完成后保存,就能进行访问了