[英]using https with elasticsearch-php client
我目前正在嘗試使用php elasticsearch客戶端連接到我的彈性搜索集群
我在為此使用https
端點時遇到麻煩。 我的群集位於負載均衡器的后面,前端帶有VIP,它使用Apache身份驗證,並且位於端口443上。我遇到的問題是客戶端的配置似乎正在解析主機並刪除https://
從主機名。 這導致客戶端始終嘗試通過端口80連接。我曾嘗試將:443添加到主機名,但隨后收到卷曲錯誤“來自服務器的空回復”。 我知道該服務器具有訪問權限(沒有防火牆阻止),因為我可以使用https://myelasticsearch.com手動進行curl調用。
我的問題是,是否可以指定一種協議來使用此客戶端發出請求? 如果不是,主機數組的解析在源代碼中的何處發生?
我找到了一個臨時解決方案,在src/Elasticsearch/Connections/AbstractConnection.php
有一個已定義的transportSchema
變量,該變量設置為http
。 我將其更改為https
並且還在配置中將:443添加到主機中,它可以正常工作!
就像對此問題的更新(以防萬一有人偶然發現)一樣,此錯誤已在Elasticsearch-PHP v1.1.0中修復。 您現在可以在主機中指定https
以使用SSL:
$params = array();
$params['hosts'] = array (
'https://localhost', // SSL to localhost
'https://192.168.1.3:9200' // SSL to IP + Port
);
$client = new Elasticsearch\Client($params);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.