Моя установка
Nginx
+ Kibana
- тот же ящик, другой домен, поддомен (nginx - example.com, kibana - kibana.example.com)
Elasticsearch
- 192.168.100.31
Я использовал конфигурацию, определенную ниже. Заменен 127.0.0.1 на Elasticsearch
ip 192.168.100.31
https://github.com/elasticsearch/kibana/blob/master/sample/nginx.conf
Эта установка работает в локальной сети. Но не работает при внешнем подключении с сообщением об ошибке в браузере "Error Could not contact Elasticsearch at http://192.168.100.31:9200. Please ensure that Elasticsearch is reachable from your system."
.
Kibana
config.js
указывает на ip и порт 9200 -
elasticsearch: "http://192.168.100.31:9200",
Примечание: изменение этого порта для соответствия порту, определенному в nginx
config 8433
делает это stop
функционирует.
nginx config
server {
listen 8443 ssl;
server_name kibana.example.com;
access_log /var/logs/nginx/kibana.access.log main;
error_log /var/logs/nginx/kibana.error.log;
auth_basic "Authorized users";
auth_basic_user_file /file/location/kibana.htpasswd;
location / {
root /usr/local/kibana-3.1.0;
index index.html index.htm;
}
location ~ ^/_aliases$ {
proxy_pass http://192.168.100.31:9200;
proxy_read_timeout 90;
}
location ~ ^/.*/_aliases$ {
proxy_pass http://192.168.100.31:9200;
proxy_read_timeout 90;
}
location ~ ^/_nodes$ {
proxy_pass http://192.168.100.31:9200;
proxy_read_timeout 90;
}
location ~ ^/.*/_search$ {
proxy_pass http://192.168.100.31:9200;
proxy_read_timeout 90;
}
location ~ ^/.*/_mapping {
proxy_pass http://192.168.100.31:9200;
proxy_read_timeout 90;
}
# Password protected end points
location ~ ^/kibana-int/dashboard/.*$ {
proxy_pass http://192.168.100.31:9200;
proxy_read_timeout 90;
limit_except GET {
proxy_pass http://192.168.100.31:9200;
# auth_basic "Restricted";
# auth_basic_user_file /file/location/kibana.htpasswd;
}
}
location ~ ^/kibana-int/temp.*$ {
proxy_pass http://192.168.100.31:9200;
proxy_read_timeout 90;
limit_except GET {
proxy_pass http://192.168.100.31:9200;
# auth_basic "Restricted";
# auth_basic_user_file /file/location/kibana.htpasswd;
}
}
}
Чувствует, что между nginx
и elasticsearch
чтобы локальный IP-адрес не отображался в браузере. Может кто-нибудь показать, как это настроить.
Нашел решение, нужно было установить PROXY в nginx и, конечно же, установить соответствие FQDN в configs.js Kibana