dongya3627 2019-08-13 02:14
浏览 226
已采纳

AWS Amazon Server:cURL错误无法解析主机

I've been using a fanless ubuntu server for a couple of months and been transferred my Laravel API Passport to different servers like Ubuntu and for development Windows.

The current version of my api is working fine on these servers. Not until when I transferred the laravel project to my AWS Amazon server and getting the error like this

{
"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
}
]

}

I tried to add some line of code to my etc/hosts file

like this

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

or

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

tried also my inet addr:171.*.**.** to put on my hosts file still getting the same error

I have 2 different api that's why there's a and b

But nothing of these works.

Can anyone point out the reason why I'm getting this error.

Some thread says this has nothing to do with the Guzzle but clearly states to the IP and DNS. But I can't find a good way to figure this out.

UPDATE

My .env file has something like this

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

I tried to put the APP_URL as https://api-a.mydomain.com still not working..

API CODE 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' => '',
            ],
        ]);

This is my routes/api.php

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

EC2 Ping

enter image description here

  • 写回答

2条回答 默认 最新

  • doushun1904 2019-08-15 03:00
    关注

    I found a solution:

    I used $http->post('https://api-a.mydomain.com' . '/oauth/token', [

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 专家修改了标签 8月30日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵