当前位置:首页 > CN2资讯 > 正文内容

nginx反向代理nginx反向代理原理

2天前CN2资讯

Nginx反向代理

第1章 需求:

公司产品app端新上线的功能,用户自己在app上上传图片,通过PC端可以读取到图片,但是app上传图片的地址是阿里云的OSS对象存储,用户可以正常访问,但是PC端上是只可以访问我们阿里云ECS服务器的地址的,安全需求比较高,不可以开放OSS地址的访问,想通过ECS来代理OSS

即访问:ecs:port/image 可以到达oss.aliyun.com/hug

用户网络环境说明:

用户程序分别部署在两台机器上,分别是前置机和应用机,两台机器不在一个内网网段,这两台机器中间有网闸,通过网闸转发来实现互通,前置机有公网ip的映射,并且只有对应端口对外,只可以访问我们阿里云ecs的地址

第2章 配置过程

我这里程序中是通过/image来访问的,但是实际的访问请求中是没有image这个目录的,也就是匹配成功之后要去掉这个目录,刚开始是这样配的

   server {

       listen       8110;

       server_name  公网ip;

       location /image/ {

       rewrite ^/image/hug/questionnaire/(.*)$ http://oss.aliyun.com/hug/questionnaire/$1 permanent;

       }

       }

然后我在测试机器上也配置nginx反向代理,把本地的请求转发到阿里云正式服务器上

   server {

       listen       8110;

       server_name  localhost;

       location /image/ {

           proxy_pass http://公网ip/image;

      }

}

配置好以后我在本地访问ecs服务器进行测试,并进行抓包,发现匹配后uri中的image目录地址是去掉了,但是请求的ip地址还是我自己的地址,这在用户的程序上的话是根本无法访问到的

个人理解nginx中的proxy_pass和rewrite模块的区别是:

proxy_pass是将请求交给第三方,由第三方去目标中请求,得到返回结果后将结果交给你

而rewrite只是帮你修改请求的地址,但是访问者还是自己

所以想我这种需求只能用proxy_pass来进行配置,在阿里云ecs上如下配置:

          location /image/ {

               proxy_pass http://oss.aliyun.com/;

          }

在用户的前置机和应用服务器上分别添加如下的配置:

server {

       listen       3002;

       server_name  前置机服务器内网地址;

       location /image/ {

            proxy_pass http://ecs服务公网地址/image;

       }

       }

server {

       listen       3002;

       server_name  应用服务器内网地址;

       location /image/ {

           proxy_pass http://前置机内网地址/image;

       }

       }

部署成功之后访问图片正常

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24611.html

    分享给朋友:

    “nginx反向代理nginx反向代理原理” 的相关文章

    狗云实名认证的重要性与服务体验

    狗云简介 提起狗云(Dogyun),首先让我想起的是它在国内主机服务商中崭露头角的那段经历。成立于2019年,这家由国人创办的云服务平台,积极响应了市场对高质量、低价格VPS服务的需求。服务范围覆盖美国、日本和中国香港等地,让不少技术爱好者和企业客户看到了更多选择的可能。由于其价格相对亲民,狗云逐渐...

    探索美国冷门VPS:高性价比与个性化服务的优选

    在谈论VPS(虚拟专用服务器)时,人们往往会联想到那些知名的品牌和服务,而美国冷门VPS市场却是一个值得关注的领域。这些冷门VPS提供商虽然在整体市场中的知名度较低,但却为特定的用户群体和需求提供了颇具价值的服务。我在研究这个市场时,发现不少提供商在某些方面有着相当的优势,让我对这个冷门领域充满了好...

    买域名的全流程攻略:从选择到安全管理

    购买域名是一项非常重要的投资,尤其对于那些希望在网上建立品牌或个人网站的人来说。域名不仅仅是一个网址,它是你在线身份的象征。因此,了解如何选择和购买域名显得极为关键。 选择域名时,需要考虑多个因素。首先,域名应该简洁易记,便于用户输入和分享。其次,关键字的相关性也非常重要,因为一个包含行业相关关键词...

    云桌面怎么实现:全面解析云桌面部署的关键步骤与安全策略

    云桌面是一个非常有意思的概念,它将传统的桌面环境转移到云端。不再需要用户在本地计算机上安装复杂的软件,所有运算和存储都在远程服务器上完成。用户只需通过终端设备(如个人电脑、平板或甚至手机)访问云桌面,即可获得与物理机器相似的使用体验。简单来说,就是把整个计算环境通过网络交给云服务器来管理,用户只需负...

    反向代理的工作原理与网络架构中的重要性

    在探讨反向代理之前,首先了解它的基本定义非常重要。反向代理是一种网络服务,它充当客户端和服务器之间的中介。当用户通过反向代理发送请求时,这些请求并不会直接到达目标服务器。相反,反向代理会收集请求,然后转发给适当的服务器处理。处理完毕后,服务器将响应返回给反向代理,最后再由反向代理将结果传递给客户端。...

    全面解析甲骨文服务器:功能、应用与未来趋势

    甲骨文服务器概述 甲骨文服务器的定义与功能 甲骨文服务器,简单来说,是一种数据库管理系统,非常适合于处理复杂的数据和海量的信息。它不仅能够存储数据,更能够提供高效的数据管理、查询和分析功能。这样的系统通常由多个功能模块构成,能够满足企业在数据处理方面的多种需求。我一直认为,甲骨文服务器最大的优势在于...