Nginx 代理转发阿里云OSS上传的实现代码

前言

因为小程序上传需要https,服务器https用的是letsencrypt生成的证书,但是阿里云oss没有做https(懒得上传证书),就想着用Nginx代理转发上传请求。

Nginx配置

# HTTPS server
#
 server {
  listen  443 ssl;
  server_name your.domain.name;

  ...

  location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_set_header Host $Host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For
  }

  location /oss {
    proxy_set_header Host drift-book-dev.oss-cn-shenzhen.aliyuncs.com;
    proxy_set_header Connection keep-alive;
    proxy_pass http://***.oss-cn-***.aliyuncs.com/;
    #proxy_set_header X-Real-IP $remote_addr;
    #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
 }

这里使用子path"/oss"做转发路径。

proxy_pass 指定 你的阿里云域名,记得后面一定要带斜杠"/",不然转发会失败;

nginx配置proxy_pass代理转发

假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。

第一种:

location /proxy/ {
  proxy_pass http://127.0.0.1/;
}

代理到URL:http://127.0.0.1/test.html

第二种(相对于第一种,最后少一个 / )

location /proxy/ {
  proxy_pass http://127.0.0.1;
}

代理到URL:http://127.0.0.1/proxy/test.html

第三种:

location /proxy/ {
  proxy_pass http://127.0.0.1/aaa/;
}

代理到URL:http://127.0.0.1/aaa/test.html

第四种(相对于第三种,最后少一个 / )

location /proxy/ {
  proxy_pass http://127.0.0.1/aaa;
}

代理到URL:http://127.0.0.1/aaatest.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Nginx 利用代理转发请求示例

    我们米扑科技的业务遍布全球,有时国外的客户无法访问我们搭建在国内的服务,这就要求我们在国外服务器上搭建一个代理转发服务,用户请求国外服务器的域名,然后代理转发到国内,处理请求后返回结果给国外的客户.Nginx 不仅可以实现负载均衡,还可以实现反向代理转发,非常适合我们的使用场景,因此我们米扑科技采用 Nginx 利用代理转发请求实例. Nginx 利用代理转发请求实例 nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理. nginx 反向代理官方文档: NGINX REVER

  • nginx反向代理用做内网域名转发

    由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口.非80端口的映射在访问的时候要域名加上端口,比较麻烦.并且公司入口路由最多只能做20个端口映射. 肯定以后不够用. 然后发现可以在内网搭建一个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到nginx反向代理服务器,利用ngin

  • Nginx服务器作反向代理实现内部局域网的url转发配置

    情景 由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口.非80端口的映射在访问的时候要域名加上端口,比较麻烦.并且公司入口路由最多只能做20个端口映射.肯定以后不够用. 然后k兄就提议可以在内网搭建个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到nginx反向代理服务器,利用

  • Nginx 代理转发阿里云OSS上传的实现代码

    前言 因为小程序上传需要https,服务器https用的是letsencrypt生成的证书,但是阿里云oss没有做https(懒得上传证书),就想着用Nginx代理转发上传请求. Nginx配置 # HTTPS server # server { listen 443 ssl; server_name your.domain.name; ... location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $Host;

  • springboot整合阿里云oss上传的方法示例

    OSS申请和配置 1. 注册登录 输入网址:https://www.aliyun.com/product/oss 如果没有账号点击免费注册,然后登录. 2.开通以及配置 点击立即开通 进入管理控制台 第一次使用会出现引导,按引导点击"我知道了",然后点击创建Bucket. 如果没有存储包或流量包点击购买. 点击确定,返回主页面,出现该页面,点击我知道了 将EndPoint记录下来,方便后期添加到我们项目的配置文件中 创建 AccessKeyID 和 AccessKeySecret 点击

  • React实现阿里云OSS上传文件的示例

    简介 阿里云 OSS 是 阿里云提供的海量.安全.低成本.高可靠的云存储服务,提供 99.9999999999%的数据可靠性(号称).能够使用 RESTful API 可以在互联网任何位置存储和访问,支持容量和处理能力弹性扩展. 基本术语 1.bucket :类似本地的一个文件夹 2.object : oss 存储数据的基本单元,类似本地的一个文件. 3.region:oss 存储的数据中心所在区域 4.Endpoint:oss 对外服务的访问域名,oss 以 http api 提供服务,不同

  • Springboot集成阿里云OSS上传文件系统教程

    第一步:开通阿里云OSS服务,创建Bucket,获取id和密钥 第二步:根据官方文档编写上传代码 1.新建maven项目 添加依赖: <!-- 阿里云oss依赖 --> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> </dependency> <!-- 日期工具栏依赖 --> <

  • Android实现阿里云oss上传流程解析

    购买了阿里云的oss空间,于是用它来存储图片,不过中间的使用算是出了些问题,导致很长的才成功. 不得不说,阿里云文档真的是无力吐槽...乱七八糟的.我完全是东拼西凑,才完成的图片上传功能. 走了很多的弯路,今天来记录下. 服务器上传: 阿里云上传分服务器上传和客户端上传,首先要分清,因为两边有差别的,服务器的上传简单很多,官方给的下载下来,输入配置的参数accessKeyId 和accessKeySecret 还有bucketName 就能够上传成功,很简单,这里也就不细说了. 客户端上传: 这

  • spring boot实现阿里云视频点播上传视频功能(复制粘贴即可)

    目录: 1.spring boot实现阿里云视频点播上传视频(复制粘贴即可) 2.spring boot 实现阿里云视频点播 --删除视频 准备工作: 阿里云地址: https://www.aliyun.com/ 登录阿里云,确保账户有余额,有几毛钱就够了,开发学习基本不花钱. 2.进入阿里云开通视频点播功能 3.获取阿里云密钥 代码编写: 目录结构: application.properties # 服务端口 server.port=8003 # 服务名 spring.application.

  • yii2.0整合阿里云oss上传单个文件的示例

    上一篇文章已经介绍了如何整合阿里云oss,这一篇主要介绍上传文件到阿里云oss. 主要思路:首先文件要上传到服务器,然后把服务器里边的文件传到阿里云oss,成功以后就把文件信息写入数据库,失败了就删除服务器的文件. 主要步骤: 0 介绍几个oss的概念. accessKeyId     ==>> 可以理解为访问阿里云oss的账号 accessKeySecret ==>> 可以理解为访问阿里云oss的密码 bucket          ==>> 可以理解为文件在保存的根

  • Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例

    之前从没接触过Yii,借助的各方资源来做的这个整合阿里云OSS的SDK上传图片实例,如果有不正之处请指出! 前面参照了weinirumo 的介绍,大家可以自行去查看. 好了,下面开始进入主题: 准备工作:需要使用composer执行命令,如果没有安装composer的需要提前安装,参考文档:composer安装流程 1.项目目录结构 我使用的是基础版,只有后台目录,请自行对照自己的项目目录结构,会用到以下的几个目录: 2.在项目根目录下运行cmd命令 3.执行composer命令 切换到中国国内

  • yii2.0整合阿里云oss的示例代码

    主要思路,首先用composer下载阿里云oss的php sdk,然后自定义一个组件,就能够在全局调用阿里云oss了. 具体步骤如下: 1 到阿里云官网找到php sdk,网址为https://help.aliyun.com/document_detail/32099.html?spm=5176.87240.400427.40.s8EbEH 2 使用composer安装,在项目目录下(basic/)输入: composer require aliyuncs/oss-sdk-php 安装完成以后,

  • SpringBoot文件分片上传的示例代码

    目录 背景 文件MD5计算 文件分片切割 文件分片接收 检查分片 保存分片 合并分片 云文件分片上传 阿里云OSS 华为云OBS Minio 背景 最近好几个项目在运行过程中客户都提出文件上传大小的限制能否设置的大一些,用户经常需要上传好几个G的资料文件,如图纸,视频等,并且需要在上传大文件过程中进行优化实时展现进度条,进行技术评估后针对框架文件上传进行扩展升级,扩展接口支持大文件分片上传处理,减少服务器瞬时的内存压力,同一个文件上传失败后可以从成功上传分片位置进行断点续传,文件上传成功后再次上

随机推荐