Cuma, Ocak 17, 2025

NGINX Reverse Proxy Üzerinden Grafana’ya Erişim

grafana fhd logo

Grafana kardeşimiz öncelikli olarak NGINX arasında çalışmak için ayarlanmadığı için ufak bir değişiklik yapmamız gerekiyor. Bu ayarı yapmak için /etc/grafana/grafana.ini aşağıdaki değişikliği yapın

[server]
http_port = 3000
domain = metrics.mertcangokgoz.com
root_url = 

Ardından NGINX üzerinde yeni bir conf dosyası açıp aşağıdaki eklemeyi yapın ve servisi yeniden başlatın.

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        server_name metrics.mertcangokgoz.com;
        root /usr/share/grafana/;

        # SSL
        ssl_certificate /root/.acme.sh/metrics.mertcangokgoz.com/fullchain.cer;
        ssl_certificate_key /root/.acme.sh/metrics.mertcangokgoz.com/metrics.mertcangokgoz.com.key;
        ssl_trusted_certificate /root/.acme.sh/metrics.mertcangokgoz.com/fullchain.cer;

        # security
        add_header X-Frame-Options "SAMEORIGIN" always;
        add_header X-XSS-Protection "1; mode=block" always;
        add_header X-Content-Type-Options "nosniff" always;
        add_header Referrer-Policy "no-referrer-when-downgrade" always;
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

        # . files
        location ~ /\.(?!well-known) {
                deny all;
        }

        # logging
        access_log /var/log/nginx/metrics.mertcangokgoz.com.access.log;
        error_log /var/log/nginx/metrics.mertcangokgoz.com.error.log warn;

        # reverse proxy
        location / {
                proxy_pass http://localhost:3000/;
                proxy_set_header Host $host;
        }
        # additional config
        include /etc/nginx/general.conf;
}

# subdomains redirect
server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        server_name *.metrics.mertcangokgoz.com;

        # SSL
        ssl_certificate /root/.acme.sh/metrics.mertcangokgoz.com/fullchain.cer;
        ssl_certificate_key /root/.acme.sh/metrics.mertcangokgoz.com/metrics.mertcangokgoz.com.key;
        ssl_trusted_certificate /root/.acme.sh/metrics.mertcangokgoz.com/fullchain.cer;

        return 301 https://metrics.mertcangokgoz.com$request_uri;
}

# HTTP redirect
server {
        listen 80;
        listen [::]:80;

        server_name .metrics.mertcangokgoz.com;

        location / {
                return 301 https://metrics.mertcangokgoz.com$request_uri;
        }
}

Servisi yeniden başlattığınızda site subdomain üzerinden erişilebilir hale gelmiş olacaktır.