我正在为我们使用的应用程序开发一些新的 vps。它们在 Ubuntu 18.04.2 上运行,位于单独的 haproxy vps 后面,该 vps 在运行相同代码和应用程序的两个前端之间进行负载平衡。
该应用使用 Google Directions API 获取用户与特定地点的距离。完整错误如下
Message:
file_get_contents(https://maps.googleapis.com/maps/api/directions/json?origin=[ORIGIN]&destination=[DESTINATION]&key=[KEY]): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
我知道该 URL 有效,因为我可以在浏览器上访问它,并且它可以在不同服务器上运行的当前应用程序上运行。
我已经尝试了这里的很多建议。我尝试过更改 DNS 服务器
/etc/network/interfaces
/etc/resolv.conf
/etc/systemd/resolved.conf
还尝试更改服务器名称
hostnamectl
/etc/hosts
restarting nginx
rebooting server
我可以 ping google 和 map.googleapis.com 并得到响应。
尝试 wget 响应
Resolving maps.googleapis.com (maps.googleapis.com)... failed: Temporary failure in name resolution.
wget: unable to resolve host address ‘maps.googleapis.com’
答案1
您试过了吗wget https://maps.googleapis.com/maps/api/directions/json?origin=[ORIGIN]&destination=[DESTINATION]&key=[KEY]
?如果这也有效,那么可能只是您的应用程序(服务器)未配置为使用系统代理设置。您已经检查过了吗?
答案2
我不完全确定这是否是解决我的问题的唯一部分,但在我进行所有更改以及进行其他所有更新期间,我都进行了更新并收到错误,因此我检查了我的 ifconfig,它似乎有点损坏或混乱并且给出了不同的错误,因此在擦除它并重新添加 ip 和网关后,我现在得到了响应。