2016-09-11 2 views
0

ich die folgende Regel bin mit HTTPS zu erzwingen:Nginx HTTPS Erwartung für bestimmte Dateien extesions

if ($http_x_forwarded_proto != 'https') { 
    return 301 https://$host$request_uri; 
} 

Es funktioniert ziemlich gut. Aber ich muss einige Assets (z. B. alle XML-Dateien) in HTTP bereitstellen. Wie ist es möglich, eine Erwartungshaltung für diese Dateien zu schaffen?

Ich habe versucht:

location ~* /sitemap*.xml { 
    . 
    . 
break; 
} 

Aber es hat nicht funktioniert

[UPDATE] Ich vergesse mehr Details zu geben ... Ich bin mit AWS und ELB, so dass die LB erhalten die HTTPS Anfrage und übergebe "HTTP" intern an meine EC2. Also, in NGINX Ich habe hören nur auf Port 80

Antwort

1

Sie einen anderen Ort für alles angeben sollen anders:

location ~* \.xml$ { 
    ... 
} 

location/{ 
    if ($http_x_forwarded_proto != 'https') { 
     return 301 https://$host$request_uri; 
    } 
} 
+0

Vielen Dank Vbart! Es hat als Charme funktioniert! – Thomas