Forum: PC-Programmierung NGINX hauptdomain & subdomain


von Sascha (Gast)


Lesenswert?

Hallo,

ich versuche gerade auf einem Ubuntu Server NGINX richtig 
einzurichten...

Ich möchte, dass die Hauptdomain nicht geöffnet oder im Zweifel eine 
einzelne leere index.html angezeigt wird und in der Subdomain soll der 
Inhalt angezeigt werden.
1
server {
2
    listen 80;
3
    return 401;
4
}
5
server {
6
        listen 80;
7
        server_name hauptdomain.de;
8
        return 401;
9
}
10
    
11
server {
12
    server_name sub.hauptdomain.de;
13
14
    location = /favicon.ico { access_log off; log_not_found off; }
15
    location /static/ {
16
        root /home/sascha/websites/test_project;
17
    }
18
19
    location / {
20
        include proxy_params;
21
        proxy_pass http://unix:/run/gunicorn.sock;
22
    }
23
24
    listen [::]:443 ssl ipv6only=on; # managed by Certbot
25
    listen 443 ssl; # managed by Certbot
26
    ssl_certificate /etc/letsencrypt/live/sub.hauptdomain.de/fullchain.pem; # managed by Certbot
27
    ssl_certificate_key /etc/letsencrypt/live/sub.hauptdomain.de/privkey.pem; # managed by Certbot
28
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
29
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
30
31
}


beim testen sieht das wie folgt aus:
https://hauptdomain.de/  <-- zeigt subdomain an, hier ist ein Fehler
http://hauptdomain.de/  <-- zeigt Errorpage 401 wie gewünscht
https://sub.hauptdomain.de/  <-- zeigt subdomain an, wie gewünscht
http://sub.hauptdomain.de/  <-- zeigt subdomain an, wie gewünscht


Wie kann ich die https://hauptdomain.de/  genauso wie 
http://hauptdomain.de/  sperren lassen?

von woas i nit (Gast)


Lesenswert?

schau mal welche ports mit welchen domains zusammen kombiniert sind...

von Joachim (Gast)


Lesenswert?

Gäh wo bist'n du her? Nit?

von Thomson (Gast)


Lesenswert?

woas i nit schrieb:
> schau mal welche ports mit welchen domains zusammen kombiniert
> sind...


Unwarscheinlich, da die ports von NGINX gesteuert werden. NGINX fängt 
alles ab was reinkommt und leitet es dementsprechend weiter.

von Jim (Gast)


Lesenswert?

htttp geht über Port 80 http(s) hingegen über port 443

Da die hauotdomain aber keinen Verweis auf 443 hat evtl. auch kein 
Zertifikat, leitet NGINX auf die Domain weiter die bekannt ist. Und das 
ist in deinem Beipsiel eben die Subdomain. Du musst also für die 
hauptomain einen verweis mit 443 erstellen, so wie du es auch auf Port 
80 gemacht hast.
1
server {
2
        listen 443;
3
        server_name hauptdomain.de;
4
        return 401;
5
}


Und dazu ein SSL Zertifikat erstellen. Dann könnte es funktionieren. 
Ohne Garantie das das funktioniert.

von Εrnst B. (ernst)


Lesenswert?

Sascha schrieb:
> Wie kann ich die https://hauptdomain.de/  genauso wie
> http://hauptdomain.de/  sperren lassen?

Du kannst bei meheren server-Blöcken festlegen, welcher als default 
angesprochen werden soll, bei fehlendem oder unbekanntem Host-Header.
1
server {
2
  listen 443 ssl default_server;
3
...
4
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.