events { } http { server { error_log stderr info; listen 10090; location / { # Removes any Access-Control-Allow-Origin from Prometheus itself. When accessing from browser, having * or # multiple values is not allowed in some cases proxy_hide_header Access-Control-Allow-Origin; # Allow the origin access. This is kinda wildcard but for browser it seems more strict and is needed for # withCredentials requests. add_header Access-Control-Allow-Origin $http_origin; # When using withCredentials requests this must be true. add_header Access-Control-Allow-Credentials true; # Ask for basic auth except for pre flight OPTIONS request. limit_except OPTIONS { ################################################################ # The htpasswd file contains user: # prom: test ################################################################ auth_basic "prom"; auth_basic_user_file /etc/nginx/htpasswd; } proxy_pass http://prometheus:9090/; } } }