项目部署在内网环境使用,通过一台nginx进行短信服务转发。 不通过nginx直接访问外网是能正常发送的,但是通过nginx转发之后,返回specified signature does not match our calculation
nginx 配置了
location / {
proxy_pass https://dysmsapi.aliyuncs.com/;
}
java项目里endpoint 配置的是nginx的ip和端口,protocol设置http
根据您提供的信息,可能是由于在Nginx配置中使用了HTTP协议而不是HTTPS协议导致的错误。请尝试将以下代码段添加到您的Nginx配置文件中:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
这应该会解决您的问题。如果问题仍然存在,请检查您的阿里云短信服务API文档以获取更多信息。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。