Nginx(三):反向代理

2022-12-01 08:38:56 浏览数 (1)

我们本篇将通过两个实例进行对Nginx反向代理的学习。

1、概念基础

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

反向代理的作用:

保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网 负载均衡,通过反向代理服务器来优化网站的负载

2、反向代理实例一

2.1、实例目标 通过nginx服务器的反向代理到本地的tomcat服务器上,我们可以通过修改hosts,设定一个域名访问,比如123.com

2.2、具体操作

  • 修改本地hosts:进入/etc目录vi hosts添加以下内容:127.0.0.1 www.123.com;
  • 启动nginx:进入nginx/sbin目录 ./nginx
  • 修改nginx配置文件:进入/usr/local/nginx/conf目录vi nginx.cong修改以下内容。
代码语言:javascript复制
  listen       80;	(这里是默认监听端口)
  server_name  localhost;

  #charset koi8-r;

  #access_log  logs/host.access.log  main;

        location / {
            root   html;
            proxy_pass http://127.0.0.1:8080;(在这里添加如下内容,映射到tomcat服务器)
            index  index.html index.htm;
        }
  • 更新修改:进入nginx/sbin目录 ./nginx -s reload
  • 启动tomcat:进入tomcat/bin目录 ./startup.sh

## 2.3效果截图

3、反向代理实例二

3.1、实例目标 我们本节的实例,是通过不同的路径分别访问不同的Tomcat服务器。

3.2、具体操作

  • 复制一个tomcat然后修改端口号和备用端口,这里以修改为8081为例。
  • 修改conf:在nginx.conf文件中加入
代码语言:javascript复制
    server {
        listen       9001;
        server_name  localhost;

        location ~/a/ {
            root   html;
            proxy_pass http://127.0.0.1:8080/;
            index  index.html index.htm;
        }
        location ~/b/ {
            root   html;
            proxy_pass http://127.0.0.1:8081/;
            index  index.html index.htm;
        }
    }
  • 重启nginx

3.3 效果截图

0 人点赞