Ich habe versucht, dies für eine Weile herauszufinden.Umleiten aller Verkehr zu https: // www. auf nginx
Ich möchte den gesamten Verkehr zu https umleiten, egal was der Benutzer in die URL-Leiste eingibt.
Aufgrund der Sitzungen entweder es sein muss immer NO-WWW oder immer mit WWW
Hier ist meine aktuelle nginx Config.
Welche Änderung müsste ich vornehmen, um alles bis https umzuleiten?
server {
listen 80;
listen 443;
server_name example.com www.example.com;
access_log /var/log/nginx/example-access.log;
error_log /var/log/nginx/example-error.log;
root /var/www/html/web;
index index.html index.htm index.php;
location/{
try_files $uri $uri/ /index.php$uri?$args;
}
rewrite ^/backend\.php/?(.*)$ /$1 permanent;
location /admin {
index admin content backend.php;
try_files $uri @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /backend.php/$1 last;
}
location ~ "^(.+\.php)($|/)" {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
}
Serverfault hat die [vollständigste Antwort] (http://serverfault.com/questions/67316/in-nginx-how-can-i-rewrite-all-http-requests-thtps-while-aintaining- sub-dom), ist die Idee, 'server_name' sowohl mit WWW als auch mit NON-WWW zu verbinden und dann' 301 https //: ... 'für alles auf einen anderen Server zurückzugeben. Im Wesentlichen benötigen Sie zwei Serverblöcke. – grochmal
Die Seite wird nicht richtig umgeleitet Firefox hat festgestellt, dass der Server die Anforderung für diese Adresse auf eine Weise umleitet, die nie abgeschlossen wird. Dieses Problem kann manchmal dadurch verursacht werden, dass Cookies deaktiviert oder abgelehnt werden. - klare Cookies kein Unterschied – smugford
Ich fügte eine Antwort hinzu, weil es für einen Kommentar zu groß war. Siehe Hinweis in der Antwort, '301' ist ziemlich gefährlich zum Testen, weil der Browser sich daran erinnert und kein weiteres GET (oder POST) an eine URL ausgibt, für die es eine' 301' erhalten hat. – grochmal