vhosts sollen generell nicht auf port 3000 antworten

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
whisper
Beiträge: 3195
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

vhosts sollen generell nicht auf port 3000 antworten

Beitrag von whisper » 16.07.2023 12:31:24

rootserver:

Ein apache bedient auf port 80, 443 die anfragen auf die vhost webseiten. z.B. example1.de und example2.de .
Eine Webseite example3.de hat einen Eintrag in der vhosts

Code: Alles auswählen

ProxyPreserveHost On
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
Ein anderer server antwortet auf port 3000 (docker wikijs ) Das klappt.
Dumm ist jetzt nur , das auf jeder gehosteten domain:3000 die wikijs Webseite antwortet. ist auch klar, im container ist bindip 0.0.0.0 gesetzt.
Aber auch eine ip des rootservers würde nichts bringen, da alle vhost die selbe ip haben.
Womöglich wäre die Anpassung im wikijs möglich, wenn der integrierte webserver nur auf einen example.com reagieren würde.
(das wäre wahrscheinlich machbar, ich hätte dann aber keine Standard Container Lösung, sondern was individuelles mit den entsprechenden Nachteilen, davon ab kann ich kein node.js)

Gibt es noch eine andere Möglichkeit, die ich übersehe?
ps: Man kann vielleicht den Port von außen unerreichbar machen und nur für example3.de, aber das bekomme ich alleine nicht hin, befürchte ich

michaa7
Beiträge: 4646
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: vhosts sollen generell nicht auf port 3000 antworten

Beitrag von michaa7 » 17.07.2023 21:07:45

Ich habe nur rudimentäre Apache Kenntnisse, zudem finde ich die Beschreibung was da bei dir wo drinhängt nicht wirklich klar (vhost, rootserver, anderer server).

Was ich weiß ist: Du kannst vhost IP-based oder domain-based definieren. Letzteres wäre die bevorzugte Variante. Dann sollte man modrewrite über die Domain nutzen können:
Damit sollte eine Regel (Regex) erstellbar sein die lautet: Nicht-example3.de:3000 -> Fehlerseite.

Große Hilfe ist das vermutlich nicht, aber da bislang niemand geantwortet hat wollte ich beisteueren was vllt ein Anfang ist:
https://httpd.apache.org/docs/2.4/rewrite/intro.html
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
oln
Beiträge: 491
Registriert: 05.01.2021 09:41:24

Re: vhosts sollen generell nicht auf port 3000 antworten

Beitrag von oln » 18.07.2023 07:30:34

whisper hat geschrieben: ↑ zum Beitrag ↑
16.07.2023 12:31:24
Dumm ist jetzt nur , das auf jeder gehosteten domain:3000 die wikijs Webseite antwortet. ist auch klar, im container ist bindip 0.0.0.0 gesetzt.
Zeig doch mal von deinem "Rootserver" die Vhosts. Eigentlich kann das nicht sein. Wenn du den Proxy in einem Vhost definierst, ist der im Anderen nicht verfügbar.
Gruß Ole
AbuseIPDB

Benutzeravatar
whisper
Beiträge: 3195
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: vhosts sollen generell nicht auf port 3000 antworten

Beitrag von whisper » 18.07.2023 08:10:39

michaa7 hat geschrieben: ↑ zum Beitrag ↑
17.07.2023 21:07:45
Damit sollte eine Regel (Regex) erstellbar sein die lautet: Nicht-example3.de:3000 -> Fehlerseite.
Es antwortet ja nicht der Apache, sondern der wikijs integrierte Webserver.
oln hat geschrieben: ↑ zum Beitrag ↑
18.07.2023 07:30:34
Zeig doch mal von deinem "Rootserver" die Vhosts. Eigentlich kann das nicht sein. Wenn du den Proxy in einem Vhost definierst, ist der im Anderen nicht verfügbar.
Die vhosts für die example.com domain ist im Apache nur dazu da, dass in der Adresszeile https://example.com steht und nicht wie bei allen anderen. https://example1.de:3000
Ist übrigens nur ein Beispiel mit port 3000
Mit Port 19999 für netdata ist das genauso. Da stört es nicht, weil hier zusätzlich per basic auth ein login notwendig ist.

Code: Alles auswählen

ProxyPreserveHost On
# Ausnahme für /Shaarli und Unterseiten
ProxyPass /Shaarli !

ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
Wenn man vor dem rootserver eine firewall hätte, könnte man evtl domain basiert für alle port 3000 sperren, mit ausnahme example3.com
wenn sowas geht...

aber danke euch fürs mitdenken. Scheint nur wenigen admn bisher aufgefallen zu sein.
Zuletzt geändert von whisper am 18.07.2023 08:15:25, insgesamt 1-mal geändert.

Benutzeravatar
oln
Beiträge: 491
Registriert: 05.01.2021 09:41:24

Re: vhosts sollen generell nicht auf port 3000 antworten

Beitrag von oln » 18.07.2023 08:14:31

Also noch einmal für mich zum mitmeißeln:
Dein Root-Apache antwortet auf die drei Domains example.com, example1.com usw.

Dann zeige bitte ein Vhost von den Domains. Was ich bis jetzt gesehen habe, ist kein kompletter Vhost. Und du bräuchtest 3.
Gruß Ole
AbuseIPDB

Benutzeravatar
whisper
Beiträge: 3195
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: vhosts sollen generell nicht auf port 3000 antworten

Beitrag von whisper » 18.07.2023 10:25:18

habe in pn geantwortet

Benutzeravatar
whisper
Beiträge: 3195
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: vhosts sollen generell nicht auf port 3000 antworten

Beitrag von whisper » 18.07.2023 10:59:40

Der Titel ist evtl. etwas curios.
Eigentlich möchte ich, dass wenn eine Anfrage an einen der Domains auf port 3000 kommt, das nur eine spezielle domain antwortet, alle anderen sollen geälligst nicht antworten, oder mit einer Fehlermeldung.
Ich möchte aber keineswegs jede der domains mit einer individuellen vhost beglücken...

Benutzeravatar
oln
Beiträge: 491
Registriert: 05.01.2021 09:41:24

Re: vhosts sollen generell nicht auf port 3000 antworten

Beitrag von oln » 18.07.2023 11:03:08

In deinem mir per PN geschickten Vhost ist kein ProxyPass drin. Hast du das global definiert? Dann ist das kein Wunder. Wenn du das "NUR" in dem Vhost machst, in dem du die Weiterleitung möchtest, ist das kein Problem.
In etwa so:

Code: Alles auswählen

<VirtualHost *:80>
	ServerName example.com
	ServerAlias www.example.com
	ProxyPreserveHost On
	ProxyPass / http://localhost:3000/
	ProxyPassReverse / http://localhost:3000/
</VirtualHost>
Hast du irgend wo einen Vhost mit "<VirtualHost *:*>" ?
Gruß Ole
AbuseIPDB

Benutzeravatar
whisper
Beiträge: 3195
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: vhosts sollen generell nicht auf port 3000 antworten

Beitrag von whisper » 18.07.2023 11:24:23

Ja, das Beispiel war eine domain wo nix drin ist, was proxy betrifft.
Du hast nun die anderen, die mit proxy sind.
per pn
ansonsten gerne weiter per pn, den abscluss dann hier, sonst wird es hier unübersichtlich

Antworten