Hallo,
ich hab mit Hilfe dieses Tutorials https://uwsgi-docs.readthedocs.io/en/la ... nginx.html meine Webseite mit Hilfe von uwsgi und Nginx für Port 8000 eingerichtet. Wie kann ich es jetzt einrichte, dass ich ohne einen Port anzugeben auf meine Webseite komme ? Ich habe schon den listen-Port auf 80 gewechselt, was aber leider nichts bringt...
Wie kann ich das machen ?
Django-webseite mit Nginx auf port 80 anzeigen
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

- __blackjack__
- User
- Beiträge: 13927
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Septias: Den `listen`-Port auf 80 zu setzen sollte aber was bringen. Du hast danach auch den Webserver neu gestartet, damit der die Konfiguration auch übernimmt?
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
Ne, Neustarten bringt leider nichts. Da ich die Index-seiten aus /var/www/html gelöscht habe wir da jetzt nur 403 - Forbidden angezeigt. Bei Zugriff auf :8000 wird "Unable to connect" gesagt.
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Als ich mich jetzt noch einmal angemeldet habe hat es funktioniert... warum weiß ich jedoch nicht.
Trotzdem Danke für die Hilfe
Trotzdem Danke für die Hilfe
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Okay, jetzt gibt es einen echt komischen Fehler. Vorhin habe ich geschrieben, dass es funktioniert, weil ich von einem Ubuntu Computer aus darauf zugreifen kann. Das selbe Gild für mein Handy und Edge. Aber bei Firefox bekomme ich ein 403 - Forbidden. Warum ??
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Das liegt glaub nicht an meinem System zuhause, es bekommen alle Möglichen Leute 403 - Forbidden. Kann es sein, dass manche Requests noch an Apache2 geleitet werden ? Anders kann ich mir es irgendwie nicht vorstellen.
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

- __blackjack__
- User
- Beiträge: 13927
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Septias: Wenn der Apache auf Port 80 horcht dann nicht nur manche Anfragen sondern alle. Wenn er nicht auf Port 80 horcht, dann eigentlich eher nicht. Du kannst ihn ja einfach mal beenden und schauen was dann passiert. Der Apache kann mit eventuellen Fehlern dann ja nichts mehr zu tun haben, wenn er nicht läuft.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
Okay, hatte keine Ahnung, welche Einstellung bei vorinstalliertem Apache für Froxlor gemacht sind, deshalb die Frage. Der Apacheserver war aber die ganze Zeit aus.
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Könnte das den Zugriff verweigern, weil die User zu groß sind ? : client_max_body_size 75M;
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Wenn ich 'ss -tlpn' verwende wird mir für Port 80 das hier angezeigt:
Ist es normal, dass da mehrere Nginx-Einträge sind ?
Aber das ist nichtmal das Wichtige, weil ich jetzt weiß, warum es nicht funktioniert. Der Fehler ensteht, weil Firefox irgendwie auf /var/www/html zugreifen will, und die anderen Browser nicht. Deshalb dann der 403, weil der Server keine Berechtigung für das Verzeichnis hat.
Das hier steht dabei in dem Log:
Wie kann ich das beheben ?
Code: Alles auswählen
LISTEN 0 128 :::80 :::* users:(("nginx",pid=21872,fd=7),("nginx",pid=21871,fd=7),("nginx",pid=21870,fd=7),("nginx",pid=21869,fd=7),("nginx",pid=21868,fd=7))
Aber das ist nichtmal das Wichtige, weil ich jetzt weiß, warum es nicht funktioniert. Der Fehler ensteht, weil Firefox irgendwie auf /var/www/html zugreifen will, und die anderen Browser nicht. Deshalb dann der 403, weil der Server keine Berechtigung für das Verzeichnis hat.
Das hier steht dabei in dem Log:
Code: Alles auswählen
2018/10/06 14:17:26 [error] 21872#0: *1 directory index of "/var/www/html/" is forbidden, client: ***.19.***.155, server: _, request: "GET / HTTP/1.1", host: "www.example.de"
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Ja. Es gibt einen Master Prozess und mehrere Worker.
Firefox kommt nicht von alleine auf die Idee, diesen Pfad (einen absoluten Pfad auf dem Server) anzufordern. Firefox wird von irgendeiner Stelle mitgeteilt, z.B. über einen HTTP-Redirect, dass es diesen Pfad anfordern soll. Das deutet auf einen Konfigurationsfehler hin.Der Fehler ensteht, weil Firefox irgendwie auf /var/www/html zugreifen will, und die anderen Browser nicht. Deshalb dann der 403, weil der Server keine Berechtigung für das Verzeichnis hat.
Also das hier ist meine Konfigdatei:
Das hier meine uwsgi_params:
und an der normalen Serverkonfiguration habe ich nichts geändernt. Also kann ich mir kaum vorstellen, warum ich solche Fehler bekomme. Kann es irgendwie sein, dass Apache2 irgendwelche Konfigurationen geändert hat ? (Sry habe keine Ahung von Linux)
Code: Alles auswählen
# mysite_nginx.conf
# the upstream component nginx needs to connect to
upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}
# configuration of the server
server {
# the port your site will be served on
listen 80;
# the domain name it will serve for
server_name dreiecksturnier.de; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /home/dreiecksturnier/webseite/dreiecksturnier-webseite/dreiecksturnier/media; # your Django project's media files - amend as required
}
location /static {
alias /home/dreiecksturnier/webseite/dreiecksturnier-webseite/static; # your Django project's static files - amend as required
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /home/dreiecksturnier/webseite/uwsgi_params; # the uwsgi_params file you installed
}
}
Code: Alles auswählen
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

<deine-domain>.de und www.<deine-domain>.de sind zwei verschiedene Dinge. Hast du daran beim Aufruf gedacht? Das scheint das Problem zu sein. In deiner Konfiguration sehe ich nur die Variante ohne www, du musst diese Subdomain bei 'server_name' mit aufführen, wenn du sie verwenden möchtest.
Ja, das war es, vielen vielen Dank !
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 
