Tengo un problema con la configuración de Grafana detrás del proxy inverso. La configuración a continuación no funciona. Lo que es extraño, logré obtener la página de inicio de sesión e iniciar sesión con éxito varias veces después de algunas recargas de nginx. Pero justo después de que la redirección de inicio de sesión a https://www.mydomain.io/grafana falla y tengo esa pantalla con una advertencia naranja.
mis configuraciones
nginx.conf
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name www.mydomain.io; # SSL ssl_certificate /ssl/cert/...; ssl_certificate_key /ssl/cert/...; ssl_trusted_certificate /ssl/cert/...; location /grafana/ { proxy_pass http://grafana:3001/; }docker-compose.yml
version: "3" services: grafana: container_name: grafana image: grafana/grafana:latest volumes: - ./grafana/provisioning/:/etc/grafana/provisioning/ - grafana_vol:/var/lib/grafana environment: - "GF_SECURITY_ADMIN_PASSWORD=pwd" - GF_USERS_ALLOW_SIGN_UP=false - GF_INSTALL_PLUGINS=grafana-piechart-panel - GF_SERVER_HTTP_PORT=3001 - GF_SERVER_PROTOCOL=http - GF_SERVER_DOMAIN=www.mydomain.io - GF_SERVER_ROOT_URL=https://www.mydomain.io/grafana/ - GF_SERVER_SERVE_FROM_SUB_PATH=true expose: - 3001 networks: - my_network volumes: grafana_vol: networks: my_network:Ok, entonces encontré la solución. Además de la configuración dada, estaba importando otra en la que configuré encabezados estrictos de Política de seguridad de contenido.
Debe permitir: script-src: 'unsafe-eval' 'unsafe-inline'; Puede hacerlo solo para una ubicación, incluso si ya agregó una en otro lugar (los encabezados se pueden duplicar siempre que se puedan concatenar correctamente, consulte: ¿Son aceptables los encabezados de respuesta HTTP duplicados? ).
La configuración actualizada contiene:
location /grafana/ { add_header Content-Security-Policy "script-src: 'unsafe-eval' 'unsafe-inline';"; proxy_pass http://grafana:3001/; }Ver: https://github.com/grafana/grafana/issues/6820 y https://github.com/grafana/grafana/issues/16655