AWS 亚马逊服务器:cURL 错误无法解析主机

AWS Amazon Server : cURL error could not resolve host

我已经使用 无风扇 ubuntu 服务器 几个月了,我的 Laravel API Passport 被转移到不同的服务器,例如 Ubuntu 和发展 Windows

我的 api 当前版本在这些服务器上运行良好。直到我将 laravel 项目转移到我的 AWS Amazon server 并得到这样的错误

{
"message": "cURL error 6: Could not resolve host: api-a.mydomain.comoauth (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)",
"exception": "GuzzleHttp\Exception\ConnectException",
"file": "/var/www/html/api_tk_a/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php",
"line": 185,
"trace": [
{
   ....some line of multiple errors
}
]

}

我试图在我的 etc/hosts 文件中添加一些代码行

像这样

52.***.***.205 api-a.mydomain.com 52.***.***.205 api-b.mydomain.com

127.0.0.1 api-a.mydomain.com 127.0.0.1 api-b.mydomain.com

我的 inet addr:171.*.**.** 也试过放在我的 hosts 文件上,仍然出现同样的错误

我有 2 个不同的 api 这就是为什么有 ab

但这些都不起作用。

谁能指出我出现此错误的原因。

有些帖子说这与 Guzzle 无关,但明确指出 IPDNS。但是我找不到解决这个问题的好方法。

更新

我的 .env 文件有这样的东西

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:1AEVUl5JHMzLkhxU7MDlDHtfZ6KB9UybjzUxLaYp9vg=
APP_DEBUG=true
APP_URL=http://localhost

我尝试将 APP_URL 设置为 https://api-a.mydomain.com 仍然无法正常工作..

API 代码 This code is working fine

$http = new Client;
        $response = $http->post(url('oauth/token'), [
            'form_params' => [
            'grant_type' => 'password',
            'client_id' => '2',
            'client_secret' => '8mEsN0RZkljKZlbiJFfnNKahcbcOVkoQVG7C2Xwl',
            'username' => $user->email,
            'password' => $request->password,
            'scope' => '',
            ],
        ]);

这是我的routes/api.php

use Illuminate\Http\Request;
Route::post('/login','Auth\Api\AuthController@login');

EC2

要在 EC2 实例中执行 ping 操作,您必须在安全组中为您的 IP 打开 ICMP 端口。同样对于 curl,请验证您是否为您的实例打开了端口 8080/80。

我找到了解决方案:

我用了$http->post('https://api-a.mydomain.com' . '/oauth/token', [

Laravel passport trying to get oauth/token. Guzzle keeps hanging, also on other Guzzle calls