仅在这记录下,今天的事情。

问题出自于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 注意事项的更多相关文章

  1. thinkphp5 tp5 七牛云 上传图片

    七牛sdk地址https://files.cnblogs.com/files/zonglonglong/qiniu-php-sdk-7.2.2.rar 首先下载php的sdk将文件夹放到vendor ...

  2. [转帖]七牛云对HTTPS 的解释

     感觉对RTT 还有 建立连接的说明挺好的 转帖一下 学习   https://www.cnblogs.com/qiniu/p/6856012.html   序•魔戒再现   几天前,OpenSSL  ...

  3. 【tp5.1】七牛云上传图片

    composer安装: composer require qiniu/php-sdk 配置使用: 在tp5.1的配置文件app.php中配置七牛云的参数 'qiniu' => [ 'access ...

  4. Html5+Mui前端框架,开发记录(三):七牛云 上传图片

    1.Html界面: <div id="container"> <label>凭证:</label> <div id="uploa ...

  5. thinkphp5 中使用 七牛云 上传图片和文件

    原文链接:http://www.thinkphp.cn/code/3279.html 参考:https://blog.csdn.net/rain_web/article/details/7910542 ...

  6. 七牛云上传图片到cdn,cdn返回的是一个只有图片的url

    如:

  7. 在node中使用promise上传图片到七牛云

    为了分摊个人服务器压力.提升图片下载上传的速度,使用七牛云保存用户上传的图片. 后台基于express搭建的,上传使用七牛云第三方nodejs-sdk.由于七牛云上传图片只能单个进行,并且考虑到上传完 ...

  8. 上传图片到七牛云(服务端 node.js sdk)

    大体思路 前端要上传图片到七牛云,需要有一个token进行授权操作,而获取这个上传的upload token(以下简称upToken),在服务端需要一定的身份校验,比如说:只有登录的vip用户才能拿到 ...

  9. 图床神器:七牛云 + Mpic + FScapture

    概述 最近在搞Markdown的东西,遇到了一个很棘手的问题,即图片的显示:通用的图片,可以直接网上搜索,但有时候需要自己截一些图或者对下载的图片进行修改,在本地存储完全没有问题,但Markdown写 ...

随机推荐

  1. [Oracle] 11.2.0.1 的客户端无法连接12.2.0.1 的DB端 28040

    最近有一个应用服务器安装上了 11.2.0.1 的oracle DB端 又想当 客户端用来 注册 oracle12.2.0.1的DB端发现不行 但是很奇怪 报的错误竟然是 ora 01017 密码错误 ...

  2. NLP & AI

    NLP & AI Anaconda The Most Popular Python Data Science Platform https://www.anaconda.com/what-is ...

  3. 把打印的内容保存成文件(PDF)

    有时候网页的内容和打印的内容会有一些差异,需要把打印的内容倒出来.是有办法的. 1.以谷歌为内核的浏览器示例,按Ctrl+p快捷键打开打印对话框,如图: 2.点击更改按钮,更改打印机,会出现选择目标打 ...

  4. 【Linux】Linux定时任务Crontab命令详解

    linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者自己也可以设置计划任务,所以, ...

  5. SPOJ_SUBLEX

    经典题目:给一个字符串,求字典序第k小的子串是什么. 涉及子串问题,上自动机. 首先我们可以用记忆化搜索的方法,求出到达某一个状态后,能产生多少个新状态. 首先,到达这个状态就不走了,这肯定是一种状态 ...

  6. innobackupx备份原理

    1.工具内容 该软件安装完成会有四个工具,如下所示: usr├── bin│ ├── innobackupex│ ├── xbcrypt│ ├── xbstream│ └── xtrabackup 其 ...

  7. Hashtable 和 HashMap 以及 ConcurrentHashMap

    备忘: ConcurrentHashMap与Hashtable的区别: Hashtable中采用的锁机制是一次锁住整个hash表,从而同一时刻只能由一个线程对其进行操作:而ConcurrentHash ...

  8. 【原创】centos6创建sftp账号,并设置权限和目录

    网上找了个教程,折腾好长时间都不行,最后往死里整,终于弄好了,记录一下. 系统环境:Centos6.9 64bit 完美解决: Permission denied (publickey,gssapi- ...

  9. Atcoder Yahoo Programming Contest 2019 简要题解

    A-C 直接放代码吧. A int n,k; int main() { n=read();k=read(); puts(k<=(n+1)/2?"YES":"NO&q ...

  10. number类型转化为string类型

    toString 方法 string = toString(num) 缺点: 不能转化 underfind 和 null 2 String 方法 string = String(num) 可以转化 u ...