由于我使用的是 Laradock A 站点请求 B 站点使用域名访问不到怎么办?
Route::get('/callback', function (Request $request) {
$http = new GuzzleHttp\Client;
$response = $http->post('http://your-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'authorization_code',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'redirect_uri' => 'http://example.com/callback',
'code' => $request->code,
],
]);
return json_decode((string) $response->getBody(), true);
});
如题目由于做到 A站 拿授权码去 B站 请求token时遇到了 由于我使用的是 Laradock 环境开发, 不是本机所以不能直接用域名访问到.
按道理应该去 Laradock 哪个主机或者配置文件上修改 /etc/hosts 可是我没有找到.
解决办法
### NGINX Server #########################################
nginx:
build:
context: ./nginx
args:
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
- CHANGE_SOURCE=${CHANGE_SOURCE}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
- ${NGINX_SSL_PATH}:/etc/nginx/ssl
ports:
- "${NGINX_HOST_HTTP_PORT}:80"
- "${NGINX_HOST_HTTPS_PORT}:443"
depends_on:
- php-fpm
networks:
frontend:
aliases:
- www.example.com (需要设置HOST的域名)
backend:
aliases:
- www.example.com (需要设置HOST的域名)
修改 docker-compose.yml 中 nginx 配置 networks 部分 然后
docker-compose build nginx
推荐文章: