vgaven
Goto Top

Centos 7 nginx HTTP auf HTTPS permanent umleiten

Hi,

habe ein Server mit Centos 7 und nginx und habe einen SSL Zertifikat eingebunden, ja der ist richtig eingebunden, nun wollte ich, dass alle HTTP Verbindungen zu HTTPS umgeleitet werden. Ich wollte mal an Magento eCommerce experimentieren und hab es einfach aufgesetzt. Nun habe ich auch die nginx example.com.conf angepasst und das wie folgt


server {
listen 80;
server_name example.com www.example.com;
return 301 $scheme://www.example.com$request_uri;
}

server {
listen 80 reuseport;
#listen 443 http2 ssl reuseport;
listen 443 ssl;
server_name example.com www.example.com;
root /var/www/example.com/html;
access_log /var/log/nginx/access_www.example.com.log main if=$writelog;
error_log /var/log/nginx/error_www.example.com.log error;

}

es leitet zwar auf HTTPS bekomme aber Browser abhängig den Fehler

Fehler: Umleitungsfehler

oder

Die Seite www.example.com funktioniert nicht
www.example.com hat Sie zu oft weitergeleitet.

Wenn ich den oberen Block auskommentiere und im Haupt-Server-Block nur den Port 80 habe, dann funktioniert Magento aber ohne SSL/HTTPS also keine Möglichkeit eine sichere Verbindung zu bekommen auch nicht wenn man im Admin Panel das korrekt aktiviert hat(bis auch richtig aktiviert).

Sobald ich aber den ersten Block wieder auskommentier Zeichen wegnehme und es wieder ausgeführt wird, erhalten ich wieder die gleiche Fehlermeldung.

Wo könnte hier der Fehler liegen ?
Die nginx log sagt

conflicting server name "www.example.com on 0.0.0.0:80, ignored

Es ist auch das gleiche wenn ich im zweiten Block den listen 80 reuseport; auskommentiere, macht keinen Unterschied

Hoffe könnt weiter helfen

Gruß

Content-Key: 310711

Url: https://administrator.de/contentid/310711

Printed on: April 19, 2024 at 11:04 o'clock

Member: StefanKittel
StefanKittel Jul 24, 2016 at 10:13:56 (UTC)
Goto Top
Hallo,

prima mal dies.

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	server_name example.com www.example.com;
	return 301 https://$server_name$request_uri;
}

Und den 2. Listen 80 mal weg.

Du kannst statt 301 auch 302 verwenden. 302 ist für das Testen besser.
Ich nutze wget zum testen, da sieht man besser was passiert statt der Browser. Browser speichern Umleitungen gerne mal lokal zwischen. Besonders 301.

Stefan
Member: vGaven
vGaven Jul 24, 2016 at 11:23:07 (UTC)
Goto Top
leider immer noch die gleichen Fehler
Member: StefanKittel
StefanKittel Jul 24, 2016 at 11:25:45 (UTC)
Goto Top
und was zeigt wget für eine Ausgabe?
Hast Du evt. einen Tippfehler, so dass die Umleitung nicht greift?
Oder ne 2. config?
S
tefan
Member: vGaven
vGaven Jul 24, 2016 at 11:36:30 (UTC)
Goto Top
ne keine Tippfehler aber jetzt spuckt die nginx log etwas anderes als Ereignis raus

*1 open socket #29 left in connection 4

war vorher nicht warum?
Member: vGaven
vGaven Jul 24, 2016 at 12:03:13 (UTC)
Goto Top
wget sagt:

http://www.example.com/
Resolving www.example.com (www.example.com)... XX.XXX.XXX.XXX
Connecting to www.example.com (www.example.com)|XX.XXX.XXX.XXX|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.

immer und immer wieder
Member: vGaven
vGaven Jul 24, 2016 at 12:11:39 (UTC)
Goto Top
habs jetzt hinbekommen super es wird weitergeleitet aber nun folgender NGINX ERROR

setrlimit(RLIMIT_NOFILE, 100000) failed (1: Operation not permitted)

wie könnte man es fixen?
Member: StefanKittel
StefanKittel Jul 24, 2016 at 13:42:06 (UTC)
Goto Top
Hallo,

und was war der Fehler?

Kommt nach der Fehlermeldung noch was?

Häufig ist es die Anzal der geöffneten Dateien die das System Maximum überschreitet.
Stichwort increasing open files limit

Stefan