几个月来,我一直在使用无风扇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
,这就是为什么有a
和b
但是这些都不起作用。
谁能指出我收到此错误的原因。
一些线程说,这与Guzzle
无关,但明确指出了IP
和DNS
。但是我找不到解决这个问题的好方法。
更新
我的.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
平
答案 0 :(得分:0)
要使ping在EC2实例中工作,必须在IP安全组中打开ICMP端口。同样要进行卷曲,请确认是否已为实例打开端口8080/80。
答案 1 :(得分:0)
我找到了解决方法:
我使用了$http->post('https://api-a.mydomain.com' . '/oauth/token', [
Laravel passport trying to get oauth/token. Guzzle keeps hanging, also on other Guzzle calls