最近在做APP开发,经常需要测试API接口,虽然可以部署到VPS上进行测试,但是版本同步太麻烦,于是决定用ngrok实现内网传统。
目前ngrok的官方服务器在国外,访问速度不佳,国内免费的ngrok服务限制太多,实际使用起来太麻烦,Google了下,决定自己动手自建Ngrok服务。

准备工作:

1、拥有独立IP的VPS一台
2、域名一枚

系统环境:CentOS 7 x64、MacOS X



- 阅读剩余部分 -

做API接口的时候遇到ajax跨域的问题,很是头疼,百度了下找到一个简单的方案,如下。

新建一个middleWare,把这个middleware加入到全局中间件,所有的请求,都会经过这个中间件的过滤。

php artisan make:middleware CrossHttp

然后就会在\app\Http\Middleware\CrossHttp.php这个中间件,在handle方法里面添加如下代码:

public function handle($request, Closure $next) {
    $response = $next($request);
    $response->header('Access-Control-Allow-Origin', '*');
    $response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, Accept');
    $response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS');
    // $response->header('Access-Control-Allow-Credentials', 'true');
    return $response;
}

意思是允许所有的域都能访问这个接口。但是这时候不能传递session和cookie,如果想要指定域名来访问,就这样写:

$response->header('Access-Control-Allow-Origin', 'http://mytest.com');

这个意思就是只允许 http://mytest.com 来访问这个接口。

- 阅读剩余部分 -