行业资讯 2025年08月6日
0 收藏 0 点赞 957 浏览 1721 个字
摘要 :

文章目录 实例演示1 演示实例2 补充:location 指令说明 演示实例3 反向代理功能是nginx的一个常用的核心功能,我们经常会需要用到反向代理的配置,下面我们来一起看……




  • 实例演示1
  • 演示实例2
    • 补充:location 指令说明
  • 演示实例3

反向代理功能是nginx的一个常用的核心功能,我们经常会需要用到反向代理的配置,下面我们来一起看下几种常用的配置场景。

Nginx目前拥有三个代理模式,分别是基于IP代理、基于域名代理、基于端口代理。

这里我的nginx服务器部署在虚拟机上,其ip为192.168.17.129

实例演示1

实现效果:

这里我们先实现根据访问不同的服务器端口,来代理到不同的站点上。

我们配置nginx.conf新增如下两个server配置:

server {
        listen  81;
        server_name     localhost;
        location / {
            proxy_pass http://www.panziye.com;
        }
}
server {
        listen  82;
        server_name     localhost;
        location / {
            proxy_pass http://www.baidu.com;
        }
}

当我当浏览器访问192.168.17.129.100:81就会访问到潘老师的官网,而访问192.168.17.1291.100:82就会访问到百度首页,这就是基于端口的代理。

演示实例2

实现效果:

使用 Nginx 反向代理,根据访问的路径跳转到不同端口的服务中,Nginx 监听端口为 9001

访问http://192.168.17.129/edu/直接跳转到 192.168.17.1291:8080
访问http://192.168.17.129/vod/直接跳转到 192.168.17.129:8081

1)第一步,需要准备两个 tomcat,一个 8080 端口,一个 8081 端口,并准备好测试的页面
2)第二步,修改 nginx 的配置文件,在 http 块中配置 server

server {
    listen       9001;
    server_name  192.168.17.129;

    location ~ /edu/ {
        proxy_pass  http://192.168.17.129:8080
    }

    location ~ /vod/ {
        proxy_pass  http://192.168.17.129:8081
    }
}

实验结果如图:
Nginx如何配置实现反向代理

补充:location 指令说明

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

location [ = | ~ | ~* | ^~] uri {

}
  • = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求
  • ~:用于表示 uri 包含正则表达式,并且区分大小写
  • ~*:用于表示 uri 包含正则表达式,并且不区分大小写
  • ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求。字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location块中的正则 uri 和请求字符串做匹配。

注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识

演示实例3

实现效果:

实现效果:使用 Nginx 反向代理,访问www.123.com直接跳转到192.168.17.129:8080

注意:此处如果要想从www.123.com跳转到本机指定的ip,需要修改本机的hosts文件。此处略过

配置代码

server {
    listen       80;
    server_name  192.168.17.129;

    location / {
        root   html;
        index  index.html index.htm;
        proxy_pass  http://192.168.17.129:8080
    }
}

如上配置,Nginx监听 80端口,访问域名为www.123.com(不加端口号时默认为 80端口),故访问该域名时会跳转到 192.168.17.129:8080 路径上。

此处的意思为:nginx 反向代理服务监听 192.168.17.12980端口,如果有请求过来,则转到proxy_pass配置的对应服务器上,仅此而已。
在location下,同时配置root和proxy_pass选项时,两个选项只会二选一执行
此处不能配置https反向代理

实验结果:
Nginx如何配置实现反向代理

归属教程 Nginx快速入门教程汇总

文章目录 第1部分:安装 第2部分:配置功能 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件 […]

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/8682.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号