Bestimmte Ports in Nginx ignorieren?

1 Antwort

Führe das ganze doch etwas genauer aus. Was genau hast du vor?

Sonst Du legst du einfach in den Einstellungen über mehrere "server"-Instanzen fest, auf welchen Port jeweils gehört werden soll - und kannst da natürlich auch die Anfragen verschieden verarbeiten oder bei einem Port dann z.B. ProxyPass nutzen, um die Anfragen an einen anderen Server weiterzuleiten

server {
    listen 80;
    server_name example.com;
    root /var/www/content1;
}

server {
    listen 81;
    server_name example.com;
    root /var/www/content2;
}

Sonst könntest du natürlich auch einen Server mit dem gleichen Inhalt auf mehrere Ports hören lassen, so vom Prinzip:

server {
    listen 80;
    listen 81;
    server_name example.com;
    root /var/www/;
}
Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)

Juboy6000 
Beitragsersteller
 11.09.2022, 23:01

Sorry, habe auf den falschen Button geklickt. Okay das ist schon mal praktisch aber ich habe nicht direkt ein Verzeichnis an welches verwiesen werden soll sondern nur einen Port.

0
xxxcyberxxx  11.09.2022, 23:07
@Juboy6000
Sorry, habe auf den falschen Button geklickt. Okay das ist schon mal praktisch aber ich habe nicht direkt ein Verzeichnis an welches verwiesen werden soll sondern nur einen Port.

Einen Port und eine IP / Hostname meinst du?

Ist auch kein Problem, da gibst du dann eben einen proxy_pass an, wie oben erwähnt.

So vom Prinzip:

server {
    listen 80;
    server_name example.com;
    root /var/www/content1;
}


server { # simple reverse-proxy
    listen       81;
    server_name  example.com;

    location / {
      proxy_pass      http://127.0.0.1:8080;
}

das ganze kann und sollte natürlich nur als Beispiel genommen werden und weiter konfiguriert werden ...

1
Juboy6000 
Beitragsersteller
 11.09.2022, 23:15
@xxxcyberxxx

Okay, interessant.
Sowas ähnliches hatte ich schon probiert aber wie bestimmte ich im Browser das ich auf diesen Port möchte?
Ich habe im Moment noch nicht die Domain eingerichtet.

0
xxxcyberxxx  11.09.2022, 23:19
@Juboy6000
Sowas ähnliches hatte ich schon probiert aber wie bestimmte ich im Browser das ich auf diesen Port möchte?
protokoll://adresse:port

Das Protokoll für Websites ist HTTP / HTTPS. Gibst du diese an, erwähnst jedoch keinen Port explizit, wird für HTTP Port 80 und für HTTPS Port 443 impliziert.

Ich habe im Moment noch nicht die Domain eingerichtet.

Dann tu das doch mal.

Sonst kannst du auch server_name weglassen. Nginx hört dann quasi auf jede Adresse, sofern du es nicht anders konfigurierst

1
Juboy6000 
Beitragsersteller
 11.09.2022, 22:58

Hi, danke für die Antwort!
Also ich würde gerne folgendes realisieren.

  • Mehrere normale Webseiten
  • Ich habe einen Server wobei der client auf Port 3000 läuft welcher auch direkt über Port 3000 im Browser aufrufbar seien soll.
  • Noch einen Port z.B. 30120 sowie 40120 öffnen.

Mit öffnen meine ich das dieser direkt über den Browser aufrufbar ist.

0
xxxcyberxxx  11.09.2022, 23:03
@Juboy6000
Mehrere normale Webseiten
Ich habe einen Server wobei der client auf Port 3000 läuft welcher auch direkt über Port 3000 im Browser aufrufbar seien soll.

jo, ist durchaus umsetzbar. Ein Nginx-Server kann mehrere "virtuelle Server" bereitstellen. Da du Port 3000 nutzt, müssen die Server-Blöcke eben auch auf 3000 hören.

Warum nimmst du nicht einfach 80 und 443? Dann müssen auch Ports nicht extra angegeben werden.

Noch einen Port z.B. 30120 sowie 40120 öffnen.
Mit öffnen meine ich das dieser direkt über den Browser aufrufbar ist.

Ist auch möglich, wenn du eben die entsprechenden Server-Blöcke entsprechend einrichtest ...

Hat es einen Grund, warum du das so umsetzen willst und Nginx nicht als Reverse Proxy nutzt, welcher nach außen eben 80 und 443 öffentlich macht und eben intern die Kommunikation über die verschiedenen Ports entsprechend dem Hostnamen abhandelt?

1
Juboy6000 
Beitragsersteller
 11.09.2022, 23:06
@xxxcyberxxx

Da hast du recht, ich war es halt so gewohnt weil ich bis jetzt Apache benutzt habe und halt jetzt auf Nginx umsteigen möchte.

Könntest du mir ein Beispiel geben wie man einen server Block entsprechend für z.B. Port 40120 einrichtet?
Ich habe ja schon viel probiert aber ich habe das bis jetzt nicht hin bekommen.

MfG

0
xxxcyberxxx  11.09.2022, 23:11
@Juboy6000
Könntest du mir ein Beispiel geben wie man einen server Block entsprechend für z.B. Port 40120 einrichtet?
Ich habe ja schon viel probiert aber ich habe das bis jetzt nicht hin bekommen.

kann ja nicht allzu viel gewesen sein. Beispiel-Konfigurationen werden von Nginx auch direkt zur Verfügung gestellt, z.B. https://www.nginx.com/resources/wiki/start/topics/examples/full/

und auch sonst gibt es sehr viele Ressourcen zu

0