阿里云OpenAPI 因为需要在政务云内网访问人脸人体识别服务,只能通过反向代理能才访问到服务器,nginx配置如下,现在的现在报错信息如下,请问如何解决?
不通过代理,直接调用是没有问题的
{"Status":500,"Success":false,"Message":"认证失败: code: 400, Specified signature does not match our calculation. server StringToSign is [ACS3-HMAC-SHA256\n209c48a872d603f113c2082d27a424ee9d4480ca7db6b1c66980e9047b49b603], server CanonicalRequest is [POST\n/viapi/thirdparty/realperson/execServerSideVerification\n\ncontent-type:application/x-www-form-urlencoded\nhost:facebody.cn-shanghai.aliyuncs.com\nx-acs-action:ExecuteServerSideVe
代理带来的签名问题 一般是因为代理服务添加了请求头或删除了请求头或变更了请求方法。解决这个问题最简单的办法 就是配置一个不篡改请求体的代理 这比配置一个篡改请求的代理更简单。
HTTPS代理配置 可以看下这篇文档
http://tengine.taobao.org/document_cn/proxy_connect_cn.html
此回答整理自钉群“OpenAPI 开发者门户 - 值班服务群2群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。