我在Azure上运行了一个网站(Web App)(example.azurewebsites.net),我想在我的Asp.Net MVC解决方案中使用NEST(http://nest.azurewebsites.net)。在本地它工作正常,但是当它发布到Azure时,我无法获得与elasticsearch的连接。因为我没有找到任何有用的教程,我混合在一起。如何在Azure中使用NEST/elasticsearch?
首先,我创建了一个虚拟网络,就像这里在步骤1中描述的那样:我称之为VirtualNetwork并获得了网关IP地址。它显示我有1个客户端已连接。
然后我创建了一个虚拟机,如下所述:http://code972.com/blog/2014/07/74-the-definitive-guide-for-elasticsearch-on-windows-azure 我已经有了虚拟网络,所以我跳过了第一步。云服务名为example-elastic-search(example-elastic-search.cloudapp.net),我称之为虚拟机elasticsearchvm。我通过腻子连接,像所描述的配置elasticsearch,我工作正常。
Azure的最后一步是将Web应用程序连接到虚拟网络。我这样做:http://blogs.technet.com/b/canitpro/archive/2015/04/07/step-by-step-connect-an-azure-web-app-to-an-existing-virtual-network.aspx
最后我改变了我的代码使用elasticsearchvm。
new ElasticClient(new ConnectionSettings(new Uri("http://example-elastic-search.cloudapp.net")))
相反example-elastic-search.cloudapp.net的我也试过虚拟机(elasticsearchvm),虚拟机的内部和公网IP的名字,云服务的IP及的IP网关。所有这些与http,https,端口和没有端口(9200)。没有工作。
任何想法,我错过了什么?如果需要更多的信息,请随时询问:)
我遇到了同样的问题,即Azure网站无法连接到Azure虚拟网络上的虚拟机。在花费数小时与Microsoft支持尝试调试它们之后,他们建议删除所有内容并重新开始。不要说你的情况是一样的,只是有时候这种设置会以不可修复的方式破坏。 – Frans
当然,我假设你已经在vm本身的防火墙上打开了适当的端口? – Frans
我在VM中安装了nmap,端口9200已经打开。我认为在安装elasticsearch时发生这种情况... – Michael