我有一个基于api的symfony项目与nginx。我想允许某些特定的IP地址访问网址。以下是我所做的配置。但它不起作用。我使用邮递员从我自己的机器上请求512条前置条件失败。
location /requests/users {
if ($request_method = 'GET') {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:80;
allow my_public_ip;
}
else{
return 405;
}
}
答案 0 :(得分:0)
另一种方法是你可以使用Symfony获取客户端IP并根据客户端IP控制访问。
$allowedIP = []; // allowed IP List
$clientIP = $this->container->get('request')->getClientIp();
if(!in_array($clientIP,$allowedIP)){
throw new AccessDeniedHttpException(sprintf('You are not granted access to this API'));
}