ElasticSearch: Autoriser uniquement les demandes locales
Comment peut autoriser uniquement les demandes locales pour elasticsearch?
Donc commande de ce type:
curl -XGET 'http://localhost:9200/twitter/_settings'
ne peut être en cours d'exécution sur l'hôte local et de la demande comme:
curl -XGET 'http://mydomain.com:9200/twitter/_settings'
serait rejeté?
Parce que, d'après ce que je vois, elasticsearch permet par défaut.
EDIT:
Selon http://www.elasticsearch.org/guide/reference/modules/network.html
vous pouvez gérer bind_host
paramètre pour autoriser les hôtes. Et par défaut, il est fixé à anyLocalAddress
Vous devez vous connecter pour publier un commentaire.
Pour elasticsearch avant la v2.0.0, si vous souhaitez à la fois le transport http internes et elasticsearch transport de l'écouter seulement sur localhost il suffit d'ajouter la ligne suivante à
elasticsearch.yml
fichier.Si vous ne souhaitez que http transports à l'écoute sur localhost ajouter la ligne suivante à la place.
À partir de v2.0 elasticsearch est à l'écoute seulement sur localhost par défaut. Donc, aucune configuration supplémentaire n'est nécessaire.
Si votre objectif final est de refuser toute demande provenant de l'extérieur de la machine hôte, le moyen le plus fiable serait de modifier l'hôte iptables de sorte qu'il refuse les demandes entrantes pour le service des ports utilisés par ElasticSearch (9200-9300).
Si l'objectif final est de faire en sorte que tout le monde se réfère au service à l'aide d'une exclusivité de DNS, vous êtes mieux de la réalisation de ce avec un serveur HTTP qui peut relayer les demandes telles que HTTPd ou nginx.
- Je utiliser ce paramètre:
http.l'hôte: "127.0.0.1"
Ce paramètre accepte pas les requêtes http pour la demande externe.