RESTful, service Web avec SNI (Server Name Indication)

J’ai une application Spring MVC qui reçoit une URL CallBack à partir d’une autre application via la méthode HTTP POST qui envoie également le SNI ((Server Name Indication) pour les connexions SSL / TLS). Je dois donc implémenter un service RESTful Application de spring. Comme je vais toujours recevoir l’URL CallBack à partir du même serveur, je veux refuser toute demande des autres serveurs. Où est-il préférable de faire cette vérification sur le nom du serveur? au niveau de l’application Spring MVC ou il existe un moyen de le faire en configurant le serveur Web Apache ??

J’ai un noeud final @Controller qui accepte une requête POST, comme ceci : http: // myserver / MyApp / api / registerUser? UserId = E506 & lat = 41 & lng = 7 & rssi = -127 & data = 3428102231

mais cette demande viendra toujours du serveur 111.222.333.444, donc je ne veux accepter que la demande de ce serveur, personne d’autre (disons les pirates potentiels)

Si votre application Spring se trouve derrière un serveur Web Apache, agissant en tant que passerelle (aussi appelée proxy inverse) , vous pouvez utiliser la configuration apache suivante pour restreindre l’access:

  Require ip 111.222.333.444  

De la documentation:

La directive limite la scope des directives ci-jointes par URL.

Cette directive Require teste si un utilisateur authentifié est autorisé en fonction d’un fournisseur d’autorisation particulier et des ressortingctions spécifiées .