Schlagwort: ssl

Grafana Web-GUI über TLS mit Nginx

Einfach Config um eine Grafana Installation per Nginx über einen SSL Proxy abzusichern.

/etc/nginx/sites-enabled/grafana/

server {
    listen 80;
    return 301 https://$host$request_uri;
}

server {

    listen 443;
    server_name grafana.rzhas.de;

    ssl_certificate           /etc/ssl/rzhas/fullchain.pem;
    ssl_certificate_key       /etc/ssl/rzhas/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log            /var/log/nginx/grafana.access.log;

    location / {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      # Fix the “It appears that your reverse proxy set up is broken" error.
      proxy_pass          http://localhost:3000;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:3000 https://grafana.rzhas.de;
    }
  }

IIS 6: SSL Host Headers für multiple SSL-Zertifikate mit einer IP-Adresse

Multidomain-Zertifikat installieren und für jede Website konfigurieren.

In C:\Inetpub\AdminScripts folgenden Befehl für jede Website ausführen:

cscript.exe adsutil.vbs set /w3svc/site identifier/SecureBindings ":443:host header"

site identifier: „Bezeichner“ (ID der Website)
host header: Hostname der jeweiligen Website, z. B. www.example.com, wie im Zertifikat hinterlegt.

Quelle

Apache: Umleitung auf verschlüsselte Standard-Domain

Nachdem Marco schon seine Apache-Config zur Umleitung von HTTP-Aufrufen auf HTTPS vorgestellt hat, schließe ich mich gerne an und biete ich eine .htaccess-Alterative:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.example.com
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

RewriteCond %{SERVER_PORT} !^443
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
  • Alle Domains, die auf den Webspace zeigen, werden mittels Permanent Redirect (HTTP-Status 301) auf die Default-Domain, hier https://www.example.com, umgeleitet.
  • Dadurch wird „duplicate content“ (also die Erreichbarkeit ein und derselben Website über mehrere Domains) vermieden. Stickwort SEO.
  • Alle Aufrufe werden auf HTTPS umgeschrieben. Die Website kann de facto nicht mehr unverschlüsselt aufgerufen werden.
  • Ein eventuell angegebener Pfad bleibt sowohl beim Umschreiben der Domain, als auch bei der Umleitung auf HTTPS erhalten. So wird zum Beispiel http://example.net/folder/file.html auf https://www.example.com/folder/file.html umgeschrieben.

Permanent Redirect auf https in der Apache-Config

Regelmäßig stehe ich vor dem Problem, HTTP-Anfragen auf SSL HTTPS umzuleiten. Die einfachste Lösung ist der Einzeiler Redirect permanent / https://www.example.com. Wem dies genügt und wer ohne mod_rewrite auskommt, der kann hier mit dem Lesen aufhören.
Für meine Anwendungsfälle, habe ich hier eine minimalistische Apache V-Host Config hingepackt:

<Virtualhost *:80>
ServerName example.com
ServerAlias *.example.com
DocumentRoot /var/www/html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
</Virtualhost>

Die drei Zeilen mit „Rewrite“ würden auch problemlos in eine .htaccess-Datei im DocRoot passen. Da besteht allerdings die Gefahr, dass der Webentwickler hier die Hände im Spiel hat und es ist (wenn auch nur minimal bei kleinen Webs oder wenigen V-Hosts) performanter.