Question: I'm using `AWS VPC` with `ELB` in-front. As far as i understand, only the `Network Access Control List (ACL)` can do the Inbound **Blocking**, by IPs. But again the problem there is:

* The limitation of the number of Rules inside ACL. Which is only 40 max total.

Again the Security Groups can not do "blocking". So what i do now is, to block the certain IPs by the Apache Virtual Hosts (handle the `x-forwarded-for` ips), which is not the clean approach.

Then what is the proper approach to this please?

Answer: 
Your success function is overwriting the whole `$scope` variable instead of placing values in it. You need to do the latter in order for anything to actually be accessible to your view:

```
success: function(results) {
    $scope.price = results.price;
    $scope.priceDescription = results.priceDescription;
    console.log($scope.price);
    console.log($scope.priceDescription);
},

```
From what I can tell, you are overwriting the entire `$scope` object, which has certain properties you need to maintain to keep your Angular application running correctly and keep the bindings intact.

What you will want to do is store the returned values as properties on the `$scope` object. Instead of `$scope = results;` you should do a few separate declarations:

```
$scope.price = results.price;
$scope.priceDescription = results.priceDescription;

```

...and so on for any properties you want to reference in your HTML template.

Remember that `$scope` is not just a store of values, but an object that is built to play nicely within the context of the rest of the Angular framework. If you want to see it's unique properties, `console.log($scope)` before you overwrite it (or after you fix you declarations to the pattern described above).