nginx redirect loop und nginx optimierung

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Hitchens
Beiträge: 9
Registriert: 08.10.2016 00:31:15

nginx redirect loop und nginx optimierung

Beitrag von Hitchens » 10.11.2016 02:10:05

Nabend zusammen (oder guten Morgen),

Ich hab mich so gefreut das alles einigermaßen lief. Jetzt musste ich jedoch da anders die benötigten SRV's nicht funktionierten, eine meiner Domains auf Cloudflare umleiten. Prompt endet der ganze Spass in einem Redirect Loop!

Da ich sowieso vorhabe meine Serverblöcke zu optimieren, setz ich einfach mal einen hier rein und bin gespannt welche Vorschläge ihr habt.
(Bitte nicht nur Vorschläge sondern wenn möglich auch Erklärungen oder Links zu Erklärungen warum das besser ist! Will ja was lernen.)

Des weiteren passiert es mir öfter mal das ich zu einer ganz anderen domain die ebenfalls auf diese IP gelegt ist umgeleitet werde wenn ich was am Serverblock doktore! Auch das möchte ich so weit es geht unterbinden, finde aber den Fehler nicht!)

Wichtig anzumerken, die Cloudflare SSL Funktion habe ich deaktiviert, dafür nutze ich den Proxy den Cloudflare anbietet. Schalte ich eben jenen Proxy ab gehts auch ohne die Redirects!

Code: Alles auswählen

server {
    listen 80;
    listen [::]:80;
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name sub.domain.de;
    ssl_protocols TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;
    ssl_prefer_server_ciphers On;
    ssl_certificate /etc/letsencrypt/live/sub.domain.de/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/sub.domain.de/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/sub.domain.de/chain.pem;
    ssl_dhparam /etc/ssl/certs/dhparam.pem; 
    ssl_ecdh_curve secp384r1;
    add_header Strict-Transport-Security "max-age=1; preload; includeSubDomains";
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Xss-Protection "1";
    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://sub.domain.de/ https://sub.domain.de/css/ *.google-analytics.com https://code.jquery.com https://maxcdn.bootstrapcdn.com; style-src 'self' 'unsafe-inline' https://netdna.bootstrapcdn.com/ https://maxcdn.bootstrapcdn.com https://fonts.googleapis.com; font-src 'self' https://maxcdn.bootstrapcdn.com https://fonts.gstatic.com/ https://netdna.bootstrapcdn.com/";
    ssl_stapling on;
    ssl_stapling_verify on;
    # Your favorite resolver may be used instead of the Google one below
    resolver 8.8.8.8;
    root /var/www/.../...;
    auth_basic "Restricted";
    auth_basic_user_file /var/www/.../.../.htpasswd;
    index index.html index.htm index.php;
    server_tokens off;
    location '/.well-known/acme-challenge' {
        root        /var/www/.../...;
    }
    location ^~ /js/ {
    alias /var/www/.../.../js/;
    }
    location ^~ /css/ {
    alias /var/www/.../.../css/;
    }
    location / {
      if ($scheme = http) {
            return 301 https://$server_name$request_uri;
        }
    }
	 location ~ \.php$ {
	 include snippets/fastcgi-php.conf;
	# With php7.0-fpm:
	 fastcgi_pass unix:/run/php/php7.0-fpm.sock;
	 }

}

Generell möchte ich meinen gesamten nginx Webserver optimieren und auch Linux-Dash endlich lauffähig bekommen ohne das die Graphen leer bleiben.
Vorschläge gerne gesehen!

Vielen Dank für die Mühe!

Antworten