我正在开展一个有两个部分的项目:
在我的debian服务器上,我为API配置了nginx:
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name mydomain.com;
ssl on;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;
location / {
proxy_pass https://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
问题是API会调用SoundCloud API(api.soundcloud.com)。
我认为Nginx服务器不允许通话,我们得到回应" Forbidden"。 API的代码是可以的,因为在我的笔记本电脑中它正在工作。
您有什么想法我能解决吗?
修改 javascript(ES6)代码(我使用节点v6.5.0):
const SC = require('soundcloud-node-es6');
SC.init({
id: 'ID',
secret: 'SECRET',
});
SC.get('/tracks', {
q: 'panda',
})
.then((tracks) => console.log(tracks))
.catch((error) => console.log(error));
此代码仅适用于本地"。当我在我的服务器上运行它(有和没有nginx)时,它不起作用并寄回给我:
{ code: 403, message: 'Forbidden' }
答案 0 :(得分:0)
我发现了问题。 SoundCloud禁止每个OVH专用服务器。
来自SoundCloud的工作人员:
不幸的是,我们的信托基金&安全工程师需要阻止SoundCloud的OVH,因为它导致了大量的垃圾邮件和虚假活动。 : - /
此处有更多信息: https://www.soundcloudcommunity.com/soundcloud/topics/403-forbidden-when-using-ovh-vpn