当前位置:   article > 正文

nginx反向代理配置

nginx反向代理配置

1.反向代理介绍

客户端对代理是无感知的,只需将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址

2. 第一个实例

2.1 实现效果

浏览器访问www.123.com,访问nginx的地址,跳到tomcat

2.2 准备工作

(1) 在linux系统中安装tomcat,使用默认端口8080

下载tomcat安装wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.70/bin/apache-tomcat-8.5.70.tar.gz
解压 tar -zxvf apache-tomcat-8.5.70.tar.gz
进入tomcat的bin目录,启动tomcat
cd bin
./startup.sh
对外开放访问的端口
firewall-cmd --add-port=8080/tcp --permanent

(2) 修改主机映射

在hosts文件中加上映射


PS:域名解析规则:主机先找到hosts文件中的映射,如果没有,就找网络上DNS

(3) 修改nginx配置

(4) 最终效果

3. 第二个实例

3.1 实现效果

使用nginx反向代理,根据访问的路径不同跳转到不同端口的服务中
nginx监听端口为9001
访问 http://127.0.0.1:9001/edu/ 直接跳转到127.0.0.1:8080
访问 http://127.0.0.1:8001/vod/ 直接跳转到127.0.0.1:8081

3.2.准备工作

3.2.1 准备两个tomcat

(1)修改service.xml配置文件



(2)开放8081端口
firewall-cmd --add-port=8080/tcp --permanent
(3)重启防火墙
service firewalld restart

3.2.2 创建文件夹和测试页面

在webapps下创建edu文件夹,放入html文件
3.3 具体配置
(1)找到nginx配置文件,进行反向代理配置

    server {
        listen       9001;
        server_name  172.29.34.23;

        location ~ /edu {
            proxy_pass http://127.0.0.1:8080;
        }
        location ~ /vod {
            proxy_pass http://127.0.0.1:8081;
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

(2)开放9001端口
(3)重启nginx

3.2.3 测试结果


附:location指令说明

该指令用于匹配URL。
语法如下:

  1. =: 用于不包含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求
  2. ~:用于表示uri包含正则表达式,并且区分大小写
  3. ~* :*用于表示uri包含正则表达式,并且不区分大小写
  4. ^~: 用于不包含正则表达式的uri前,要求nginx服务器找到uri和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配
    注意:如果uri有正则表达式,必须有 ~* 或 ~
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/987768
推荐阅读
相关标签
  

闽ICP备14008679号