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

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 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?