Nginx学习(5)——配置实例(反向代理)

本文详细介绍了如何通过nginx配置实现反向代理,将www.123.com域名指向127.0.0.1:8080,并演示了如何根据路径如/edu/和/vod/分别跳转到不同端口的服务。通过在host文件配置和nginx.conf的location指令,成功实现了路径匹配和请求转发。
摘要由CSDN通过智能技术生成

实现效果一:

使用 nginx 反向代理,访问 www.123.com直接跳转到 127.0.0.1:8080

准备工作:

1)安装Tomcat并能正常访问到其主页
2)如果是Linux系统虚拟机,则需要设置虚拟机对外开放的端口号
在这里插入图片描述

图示代理过程

浏览器实际访问的是代理服务器的地址,由代理服务器真真实的访问Tomcatz这主页地址在这里插入图片描述
在浏览器输入一个域名,执行过程:
在本地的host文件中查看有无相应的配置,如果有根据host文件执行,如果无则DNS进行域名解析,在网络中寻找此IP,因为网络中没有www.123.com这个域名,则在host文件中进行配置,让其转发到nginx代理服务器地址

具体配置步骤:

  • 在host文件进行转发ip地址与对应域名的配置(前面为转发地址 后面为域名)
    在这里插入图片描述
  • 在nginx中进行请求转发的配置(反向代理配置)
    修改的配置文件为:nginx.conf
    在这里插入图片描述
  • 最终测试:
    先启动nginx
    在这里插入图片描述
    我们监听 80 端口,访问域名为 www.123.com,不加端口号时默认为 80 端口,故访问该域名时会跳转到 127.0.0.1:8080 路径上。在浏览器端输入 www.123.com 结果如下:
    在这里插入图片描述

实现效果二:

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

准备工作:

1).准备两个 tomcat,一个 8001 端口,一个 8002 端口
2).准备测试页面,先新建一个a.html页面
在这里插入图片描述
3).然后访问测试
在这里插入图片描述

具体配置:

  • 在nginx配置文件中,进行反向代理的配置
    在这里插入图片描述
  • 修改 nginx 的配置文件在 http 块中添加 server{}
    在这里插入图片描述
  • 配置完成后,重启nginx
  • 最终测试
    在这里插入图片描述
    在这里插入图片描述

location 指令说明(该指令用于匹配 URL):

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

nginx匹配规则说明以及匹配的优先级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值