七牛云 上传图片 https 修改Nginx 注意事项
仅在这记录下,今天的事情。
问题出自于Nginx 设置http 强制跳转 https设置
1.上午,出于某些需求,我将服务器Nginx 设置http 强行跳转 https
server {
listen ;
server_name www.server_name.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
2.下午,业务代码没有修改的情况下出现:七牛云 上传图片 错误返回
{code: "", input: "", message: "非法操作!"}
3.难道是七牛云服务器炸了? 但是返回结果是200 ok的情况,经过排除发现是服务器回调 信息由于原回调地址为http ,现在Nginx强制跳转至https 后出现的错误,
代码:
/**
* 创建七牛 上传token
* @return string
*/
public static function create(){
$expires=3600;//token 一小时过期
$policy = array(
'callbackUrl' => 'https://www.myserver.com/v1/callback/qiniu',
'callbackBody' => '{"uid":"'.Yii::$app->user->id.'","hash":"$(etag)","fsize":$(fsize),"bucket":"$(bucket)"}',
'callbackBodyType' => 'application/json',
// 'callbackBodyType' => 'application/x-www-form-urlencoded',
);
$auth = new Auth(self::$accessKey, self::$secretKey);
$upToken = $auth->uploadToken(self::$bucket, null, $expires, $policy, true);
return $upToken;
}
/**
* 验证回调信息是否来自七牛
* @return boolean
*/
public static function validateCallback(){
$auth = new Auth(self::$accessKey, self::$secretKey);
//获取回调的body信息
$callbackBody = file_get_contents('php://input');
//回调的contentType
$contentType = 'application/json';
//回调的签名信息,可以验证该回调是否来自七牛
$authorization = $_SERVER['HTTP_AUTHORIZATION'];
//七牛回调的url,具体可以参考:http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html
$url = 'https://www.myserver.com/v1/callback/qiniu';
$isQiniuCallback = $auth->verifyCallback($contentType, $authorization, $url, $callbackBody);
return $isQiniuCallback;
}
}
最后将回调地址的 http 改为https 后解决问题
七牛云 上传图片 https 修改Nginx 注意事项的更多相关文章
- thinkphp5 tp5 七牛云 上传图片
七牛sdk地址https://files.cnblogs.com/files/zonglonglong/qiniu-php-sdk-7.2.2.rar 首先下载php的sdk将文件夹放到vendor ...
- [转帖]七牛云对HTTPS 的解释
感觉对RTT 还有 建立连接的说明挺好的 转帖一下 学习 https://www.cnblogs.com/qiniu/p/6856012.html 序•魔戒再现 几天前,OpenSSL ...
- 【tp5.1】七牛云上传图片
composer安装: composer require qiniu/php-sdk 配置使用: 在tp5.1的配置文件app.php中配置七牛云的参数 'qiniu' => [ 'access ...
- Html5+Mui前端框架,开发记录(三):七牛云 上传图片
1.Html界面: <div id="container"> <label>凭证:</label> <div id="uploa ...
- thinkphp5 中使用 七牛云 上传图片和文件
原文链接:http://www.thinkphp.cn/code/3279.html 参考:https://blog.csdn.net/rain_web/article/details/7910542 ...
- 七牛云上传图片到cdn,cdn返回的是一个只有图片的url
如:
- 在node中使用promise上传图片到七牛云
为了分摊个人服务器压力.提升图片下载上传的速度,使用七牛云保存用户上传的图片. 后台基于express搭建的,上传使用七牛云第三方nodejs-sdk.由于七牛云上传图片只能单个进行,并且考虑到上传完 ...
- 上传图片到七牛云(服务端 node.js sdk)
大体思路 前端要上传图片到七牛云,需要有一个token进行授权操作,而获取这个上传的upload token(以下简称upToken),在服务端需要一定的身份校验,比如说:只有登录的vip用户才能拿到 ...
- 图床神器:七牛云 + Mpic + FScapture
概述 最近在搞Markdown的东西,遇到了一个很棘手的问题,即图片的显示:通用的图片,可以直接网上搜索,但有时候需要自己截一些图或者对下载的图片进行修改,在本地存储完全没有问题,但Markdown写 ...
随机推荐
- C++模板常用功能讲解
前言 泛型编程是C++继面向对象编程之后的又一个重点,是为了编写与具体类型无关的代码.而模板是泛型编程的基础.模板简单来理解,可以看作是用宏来实现的,事实上确实有人用宏来实现了模板类似的功能.模板,也 ...
- Qt Lighthouse学习(二),就是QPA(Qt Platform Abstraction) 项目的名字
上一次关注Qt Lighthouse是在6月初,可是现在都8月底了.时间真快... Lighthouse 是 QPA(Qt Platform Abstraction) 项目的名字,它使得将Qt移植到新 ...
- .NET Socket 简单入门
说到Socket,想必大家都或多或少有所涉及,从最初的计算机网络课程,讲述了tcp协议,而Socket就是对协议的进一步封装,使我们开发人员能够更加容易轻松的进行软件之间的通信. 这个星期刚好接受一个 ...
- 半夜思考, Java 重载的实现
因为最近在学 scala,看到了参数的默认值这个特性,但是Java好像没有这个特性, Java8 也没有, 所以特意去查了一下,就牵扯到了 C++了,[只怪 C++没怎么学,,]. 下面将一下为什么 ...
- delphi adoquery的post和UpdateBatch
delphi adoquery的post和UpdateBatch Post是确认当前的修改,而UpdateBatch是把已经确认但是没有存盘的数据写入数据库当ADOQuery的CursorType是c ...
- 如何从 GitHub 上下载单个文件夹?
比如别人把一些资料传到 GitHub 上做分类归档,我怎么才能下载单一分类文件夹? 点击 Raw ,如果是不能预览的文件就会自动下载,如果是文件或者代码什么的,会在浏览器中显示,但可以复制浏览器中链接 ...
- js获取元素到屏幕左上角的距离
开发过程中经常会遇到 获取元素到屏幕左上角的距离, 当我们使用jQuery开发时,我们可以使用 $.offset()来获取准确的距离. 如果我们的项目中并没有引入jQuer的话,跟希望通过原生方法实现 ...
- LDA-Latent Dirichlet Allocation 学习笔记
以下内容主要基于<Latent Dirichlet Allocation>,JMLR-2003一文,另加入了一些自己的理解,刚开始了解,有不对的还请各位指正. LDA-Latent Dir ...
- 【hihocoder编程练习赛9】闰秒
题目链接 #include<stdio.h> #include<string.h> #include<algorithm> #include<math.h&g ...
- 【BZOJ4036】按位或(Min-Max容斥,FWT)
[BZOJ4036]按位或(Min-Max容斥,FWT) 题面 BZOJ 洛谷 题解 很明显直接套用\(min-max\)容斥. 设\(E(max\{S\})\)表示\(S\)中最晚出现元素出现时间的 ...