在實際業務中,常有內部伺服器間介面通訊的情況,這涉及兩個方面:一、頻寬,二、安全。
一、內網傳輸
我們知道內網傳輸是不佔用伺服器頻寬的,而且也比外網傳輸快速,假如請求的介面地址是 https://api.xxx.com/userinfo
,實現內網傳輸,編輯本機的 /etc/hosts
檔案
api.xxx.com 10.0.123.1 # 內網ip
二、安全
對於提供介面的一方 api.xxx.com
,限制請求來源也比較簡單,金鑰 + ip 白名單。
以 laravel 示例,建立一箇中介軟體 App\Http\Middleware\Remind.php
public function handle($request, Closure $next)
{
$key = $request->input('key', '');
if (
$key != 'abc'
|| !in_array($request->ip(), ['10.0.123.2'])
) {
return response()->json([
'code' => 403,
'msg' => 'access error',
], 403);
}
return $next($request);
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結