首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >heroku上出现"getaddrinfo ENOTFOUND“错误

heroku上出现"getaddrinfo ENOTFOUND“错误
EN

Stack Overflow用户
提问于 2017-07-06 11:11:45
回答 1查看 1.5K关注 0票数 0

我正在尝试在Heroku上部署一个webRTC信令服务器。它在我的本地机器上工作,但提供了:

代码语言:javascript
复制
Error: getaddrinfo ENOTFOUND global.xirsys.net global.xirsys.net` 

当部署在Heroku上时。

我正在使用simpleWebRTC + signalmaster + XirSys

来自xirSys的官方文档显示:

代码语言:javascript
复制
// Node Get ICE STUN and TURN list
var https = require("https");
var options = {
      host: "global.xirsys.net",
      path: "/_turn/Acumany",
      method: "PUT",
      headers: {
          "Authorization": "Basic " + new Buffer("acumany:4b6aea04-6152-11e7-9d16-3fa9b82ffd4f").toString("base64")
      }
};
var httpreq = https.request(options, function(httpres) {
      var str = "";
      httpres.on("data", function(data){ str += data; });
      httpres.on("error", function(e){ console.log("error: ",e); });
      httpres.on("end", function(){ 
          console.log("ICE List: ", str);
      });
});
httpreq.end();

我使用了axios:

代码语言:javascript
复制
axios.put("https://acumany:4b6aea04-6152-11e7-9d16-3fa9b82ffd4f@global.xirsys.net/_turn/Acumany")
            .then((res) => {
              var result = res.data;
              var iceServers = result.v.iceServers;
              var turnservers = [],
                  stunservers = [];
              iceServers.forEach(function (server) {
                  if(server.url.indexOf("stun:") != -1){
                      stunservers.push(server);
                  }else{
                      turnservers.push(server);
                  }
              });
              console.log("emitting server info => ", stunservers, turnservers);
              client.emit('stunservers', stunservers || []);
              client.emit('turnservers', turnservers);
            })
            .catch(function (err) {
              console.log("axios error => ", err);
            });

我的猜测是heroku在自己的负载均衡器中切换http/https。如何更改此代码才能使其正常工作?(使用https或axios)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-08 01:17:50

global.xirsys.net是一个动态的域,它在地理上路由您的请求。也许这与Heroku是不兼容的。请尝试使用静态xirsys端点。例如新加坡的ss.xirsys.com或美国东海岸的us.xirsys.com。

您可以在此处查看端点列表:https://us.xirsys.com:9000/api-intro

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44939176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档