nginx反向代理

反向代理

概述

反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器

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

反向代理案例一

  • 实现效果:使用 nginx 反向代理,访问 www.machoul.com 直接跳转到 172.16.140.128:8080
  • 步骤:
    • 启动tomcat,通过172.16.140.128:8080 可以访问到tomcat的页面
    • 修改本机host文件, 添加配置
172.16.140.128 www.123.com
  • 修改nginx.conf文件
server {
  			#监听的是当前服务器端口80,访问80端口跳转到172.16.140.128:8080
        listen       80;
        # 修改 server_name 为172.16.140.128
        server_name  172.16.140.128;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
        #修改 proxy_pass 为 要跳转的路径  
         proxy_pass     http://172.16.140.128:8080;
            index  index.html index.htm;
        }

反向代理案例二

  • 实现效果:
    • 使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中,nginx 监听端口为 9001,
    • 访问http://172.16.140.128:9001/aaa/ 直接跳转到 172.16.140.129:8080
    • 访问http://172.16.140.128:9001/bbb/ 直接跳转到 172.16.140.129:8081
  • 准备工作:
    • 准备两个tomcat服务器,一个8080端口,一个8081端口
    • 创建文件夹和测试页面
      • 8080的tomcat的webapp下添加 aaa/index.html
      • 8081的tomcat的webapp下添加 bbb/index.html
      • tomcat的默认根目录在ROOT下
    • 修改nginx.conf
				#监听的是当前服务器的9001端口
				listen       9001;
        server_name  172.16.140.128;


        #charset koi8-r;


        #access_log  logs/host.access.log  main;


        location ~ /aaa/ {
            root   html;
         proxy_pass     http://172.16.140.129:8080;
            index  index.html index.htm;
        }


    location ~ /bbb/ {
        proxy_pass http://172.16.140.129:8081;
    }

location指令说明

该指令用于匹配 URL。

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

}
  1. = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
  2. ~:用于表示 uri 包含正则表达式,并且区分大小写。
  3. ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
  4. ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用location块中的正则 uri 和请求字符串做匹配。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值