Nginx之反向代理

什么是反向代理

  1. 正向代理 – 客户端配置
    正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
    正向代理简单点说就是科学上网。
    正向代理
  2. 反向代理 – 服务端配置
    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
    反向代理

Nginx实现反向代理

当两个域名同时绑定一台Nginx服务器时,根据用户访问不同的域名给用户显示不同的页面内容。
假如两个域名为:www.sian.com.cn和www.sohu.com
Nginx服务器使用的虚拟机的ip为:192.168.101.3
Nginx反向代理

实现步骤:

  1. 安装两个tomcat,分别运行在8080和8081端口
  2. 启动两个tomcat
  3. 反向代理服务器的设置(修改/usr/local/nginx/conf/nginx.conf):
upstream tomcat1 {
    server 192.168.25.148:8080;
    }
    server {
        listen       80;
        server_name  www.sina.com.cn;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            <!-- 使用的是upstream的名字 -->
            proxy_pass   http://tomcat1;
            index  index.html index.htm;
        }
    }

upstream tomcat2 {
    server 192.168.25.148:8081;
    }
    server {
        listen       80;
        server_name  www.sohu.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://tomcat2;
            index  index.html index.htm;
        }
    }

通过配置两个不同的service并配置upstream节点。

  1. 使用./nginx -s reload命令重新加载配置文件
  2. 在本地配置域名映射(修改host文件)
    在hosts文件中添加域名和ip的映射关系
    192.168.25.148 www.sina.com.cn
    192.168.25.148 www.sohu.com

操作完成后,访问www.sina.com.cn时将转跳到tomcat1容器并且返回tomcat1中的页面

总结:

  1. Nginx反向代理技术实现了在一台服务器中存在多个网站。
  2. Nginx反向代理技术核心配置内容就是在/nginx/conf/nginx.conf文件下添加一个service节点,并配置对应的upstream即可。
  3. Nginx反向代理服务器也可以实现负载均衡。

感谢阅读本博客。

欢迎关注我的博客:https://li-weijian.github.io/

欢迎关注我的CSDN:https://blog.csdn.net/qq352642663

需要联系请加QQ:352642663

欢迎联系我共同交流

猜你喜欢

转载自blog.csdn.net/qq352642663/article/details/80145961