# 500 Internal server Error - Baisc auth on kibana using nginx

**URL:** <https://discuss.elastic.co/t/500-internal-server-error-baisc-auth-on-kibana-using-nginx/165529>\
**Category:** Kibana\
**Created:** [January 24, 2019, 5:49am UTC](https://discuss.elastic.co/t/500-internal-server-error-baisc-auth-on-kibana-using-nginx/165529 "2019-01-24T05:49:57Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![shikhar\_singh](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@shikhar\_singh](https://discuss.elastic.co/u/shikhar_singh)\
**Post date:** [January 24, 2019, 5:49am UTC](https://discuss.elastic.co/t/500-internal-server-error-baisc-auth-on-kibana-using-nginx/165529/1 "2019-01-24T05:49:57Z")

</div>

```
my nginx conf
user nginx;
worker_processes 1;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;
    error_log /var/log/nginx/error.log;

    sendfile on;
    #tcp_nopush on;

    keepalive_timeout 65;

    #gzip on;

    include /etc/nginx/conf.d/*.conf;

server {
  listen 45601;
  server_name N2PBILABNM0108;

  location / {
    proxy_pass http://10.5.245.31:5601;
  }
  auth_basic "Please login...";
  auth_basic_user_file /etc/nginx/.htpasswd;
}
server {
  listen 49200;
  server_name N2PBILABNM0108;

  location / {
    proxy_pass http://localhost:9200;
  }
  auth_basic "Please login...";
  auth_basic_user_file /etc/nginx/.htpasswd;
}

}

```

my kibana.yml

```
# Kibana is served by a back end server. This setting specifies the port to use.
server.port: 5601

# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: "10.5.245.31"

# Enables you to specify a path to mount Kibana at if you are running behind a proxy.
# Use the `server.rewriteBasePath` setting to tell Kibana if it should remove the basePath
# from requests it receives, and to prevent a deprecation warning at startup.
# This setting cannot end in a slash.
#server.basePath: ""

# Specifies whether Kibana should rewrite requests that are prefixed with
# `server.basePath` or require that they are rewritten by your reverse proxy.
# This setting was effectively always `false` before Kibana 6.3 and will
# default to `true` starting in Kibana 7.0.
#server.rewriteBasePath: false

# The maximum payload size in bytes for incoming server requests.
#server.maxPayloadBytes: 1048576

# The Kibana server's name. This is used for display purposes.
server.name: "N2PBILABNM0108"

# The URL of the Elasticsearch instance to use for all your queries.
elasticsearch.url: "http://10.5.245.31:9200"

# When this setting's value is true Kibana uses the hostname specified in the server.host
# setting. When the value of this setting is false, Kibana uses the hostname of the host
# that connects to this Kibana instance.
#elasticsearch.preserveHost: true

# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
# dashboards. Kibana creates a new index if the index doesn't already exist.
#kibana.index: ".kibana"

# The default application to load.
#kibana.defaultAppId: "home"

# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
#elasticsearch.username: "user"
#elasticsearch.password: "pass"

# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively.
# These settings enable SSL for outgoing requests from the Kibana server to the browser.
#server.ssl.enabled: false
#server.ssl.certificate: /path/to/your/server.crt
#server.ssl.key: /path/to/your/server.key

# Optional settings that provide the paths to the PEM-format SSL certificate and key files.
# These files validate that your Elasticsearch backend uses the same key files.
#elasticsearch.ssl.certificate: /path/to/your/client.crt
#elasticsearch.ssl.key: /path/to/your/client.key

# Optional setting that enables you to specify a path to the PEM file for the certificate
# authority for your Elasticsearch instance.
#elasticsearch.ssl.certificateAuthorities: ["/path/to/your/CA.pem"]

# To disregard the validity of SSL certificates, change this setting's value to 'none'.
#elasticsearch.ssl.verificationMode: full

# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
# the elasticsearch.requestTimeout setting.
#elasticsearch.pingTimeout: 1500

# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
# must be a positive integer.
#elasticsearch.requestTimeout: 30000

# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side
# headers, set this value to [] (an empty list).
#elasticsearch.requestHeadersWhitelist: [authorization]

# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
#elasticsearch.customHeaders: {}

# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
#elasticsearch.shardTimeout: 30000

# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying.
#elasticsearch.startupTimeout: 5000

# Logs queries sent to Elasticsearch. Requires logging.verbose set to true.
#elasticsearch.logQueries: false

# Specifies the path where Kibana creates the process ID file.
#pid.file: /var/run/kibana.pid

# Enables you specify a file where Kibana stores log output.
#logging.dest: stdout

# Set the value of this setting to true to suppress all logging output.
#logging.silent: false

# Set the value of this setting to true to suppress all logging output other than error messages.
#logging.quiet: false

# Set the value of this setting to true to log all events, including system usage information
# and all requests.
#logging.verbose: false

# Set the interval in milliseconds to sample system and process performance
# metrics. Minimum is 100ms. Defaults to 5000.
#ops.interval: 5000

# The default locale. This locale can be used in certain circumstances to substitute any missing
# translations.
#i18n.defaultLocale: "en"

elastalert-kibana-plugin.serverHost: localhost
elastalert-kibana-plugin.serverPort: 3030

```

my elasticsearch version: 6.3.2  
my kibana version: 6.3.1  
nginx version : nginx/1.15.8

---

<div class="post-metadata">

**Author:** ![rashmi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rashmi/32/16391_2.png) [@rashmi](https://discuss.elastic.co/u/rashmi)\
**Post date:** [January 25, 2019, 5:53pm UTC](https://discuss.elastic.co/t/500-internal-server-error-baisc-auth-on-kibana-using-nginx/165529/2 "2019-01-25T17:53:06Z")

</div>

The Kibana server logs should provide more information on the version conflicts if any. Plz check that . By default, Kibana logs to `stdout` . You can take a look at the [configuration settings](https://www.elastic.co/guide/en/kibana/current/settings.html) to see how you can change this to log to a file. Pleas see [this version compatibility chart](https://github.com/elastic/kibana#version-compatibility-with-elasticsearch) for more information on how the Kibana and Elasticsearch version numbers interact.

Rashmi

---

<div class="post-metadata">

**Author:** ![shikhar\_singh](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@shikhar\_singh](https://discuss.elastic.co/u/shikhar_singh)\
**Post date:** [February 6, 2019, 7:52am UTC](https://discuss.elastic.co/t/500-internal-server-error-baisc-auth-on-kibana-using-nginx/165529/3 "2019-02-06T07:52:08Z")

</div>

Sorry for the late reply. Thanks for all the inputs

I defined an "upstream" block in nginx configuration which finally solved the issue.

---

<div class="post-metadata">

**Author:** ![rashmi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rashmi/32/16391_2.png) [@rashmi](https://discuss.elastic.co/u/rashmi)\
**Post date:** [March 1, 2019, 6:23am UTC](https://discuss.elastic.co/t/500-internal-server-error-baisc-auth-on-kibana-using-nginx/165529/4 "2019-03-01T06:23:59Z")

</div>

> [@shikhar\_singh](#):
>
> I defi

Thats great. Thanks for posting the solution. Marking it closed.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 29, 2019, 6:24am UTC](https://discuss.elastic.co/t/500-internal-server-error-baisc-auth-on-kibana-using-nginx/165529/5 "2019-03-29T06:24:03Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
