title: What's the difference between bind_host and publish_host in ElasticSearch?
body: <p>From this document <a href="http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-network.html" rel="noreferrer">network settings</a>, I know that <strong>publish_host</strong> is the host that other nodes in the cluster will communicate to. But I don't understand the functionality of <strong>bind_host</strong>, which means that:</p>
  
  <blockquote>
    <p>The network.bind_host setting allows to control the host different network components will bind on. By default, the bind host will be anyLocalAddress (typically 0.0.0.0 or ::0).  </p>
  </blockquote>
  
  <p>And the <strong>network.host</strong> will set <strong>network.bind_host</strong> and <strong>network.publish_host</strong> to the same value.    </p>
  
  <p>So I want to know why there's a need to set <strong>network.bind_host</strong> and if it's possible to set <strong>network.bind_host</strong> and <strong>network.publish_host</strong> to different values?</p>