Apache https Websiten Port ändern?
Hey leute,
ich versuche gerade Bitwarden auf meinem server installieren. Jedoch habe ich schon eine hauptwebsite auf meiner Domain also kann ich dafür nicht den Port 80 verwenden. Also wollte ich Bitwarden auf port 5252 laufen zu lassen. sodass ich dann die website wie folgt aufrufen kann:
Ich möchte das ganze mit apache2 lösen. also hab ich folgende configurations Datei:
Ich habe den Port freigegeben:
sudo iptables -A INPUT -p tcp --dport 5252 -j ACCEPT
Ich befolge gerade folgendens Tutorial:
https://realtm.de/tutorial-de/#tutorial9
Nur leider funktioniert das nicht. Falls sich da jemand auskennt, wäre ich dankbar.
1 Antwort
Der Port 5252 muss auch im Router freigegeben sein. Der Proxy ist nicht nötig.Der Proxy leitet Anfragen auf Port 80 auf den Port 5252 um. Du rufst aber bereits Port 5252 auf. Was siehst Du, wenn Du mydomain.net:5252 im Browser aufrufst?
Ich habe das anderes realisiert. Die Proxykonfiguration ist bei mir so wie bei Dir. Allerdings:
ServerName bitwarden.mydomain.net
Die Subdomain muss natürlich beim Provider im DNS eingetragen sein. Ich rufe also die Subdomain mit dem Standardport 443 auf. Der Proxy reicht das an Bitwarden auf dem konfigurierten Port weiter.
Dann richte HTTPS ein und rufe https://mydomain.net:5252 auf. Den Proxy kannst Du löschen.
sorry aber was genau meinst du damit? wie soll meine config datei den aussehen?
Sorry, ich habe einen Knoten im Kopf. Klar brauchst Du den Proxy.
Dein Docker-Container ist derzeit per Port 5252 erreichbar. Wir wissen also, dass Docker und Bitwarden korrekt laufen.
Der Bitwarden ist auch aus dem Internet über Port 5252 erreichbar http://mydomain.net:5252 kann aufgerufen werden). Das muss nicht sein. Die entsprechende Portweiterleitung kann/sollte im Router gelöscht werden. Stattdessen müssen Port 80 und 443 freigegeben werden.
Die iptables-Regel:
sudo iptables -A INPUT -p tcp --dport 5252 -j ACCEPT
ist meiner Meinung nach sinnlos, schließlich soll der Zugriff nicht über Port 5252 erfolgen. Der Zugriff soll per https erfolgen, die Umleitung auf Port 5252 erledigt der Proxy. Die iptables-Konfiguration muss also sein:
sudo iptables -D INPUT -p tcp --dport 5252 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Kannst Du dann http://mydomain.net aufrufen? Wenn nicht: Welche Fehlermeldung gibt es?
das kann ich so leider aber nicht machen da http://mydomain.net/ ja den port 80 verwendet...der soll jedoch frei für eine website sein...auch https://mydomain.net/ der port 443 verwendet soll für diese andere website reserviert sein...ich möchte gerne meine Bitwarden website unter https://mydomain.net:5252/ erreichen. Ist das möglich?
Ja, das geht auch. Du hast den Bitwarden-Container, der einen bestimmten Port nutzt. Du benötigst den Proxy, um das Zertifikat auszurollen. Proxy und Bitwarden-Container müssen auf unterschiedlichen Ports konfiguriert sein. Also entweder:
Proxy auf Port 5252 und Bitwarden auf einem anderen Port, z. B. 5253:
docker run -d –name bitwarden -v /bw-data/:/data/ -p 5253:80 bitwardenrs/server:latest
bitwarden.conf:
Listen 127.0.0.1:5252
<VirtualHost *:5252>
ServerName mydomain.net
ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass / http://localhost:5253/
ProxyPassReverse / http://localhost:5253/
</VirtualHost>
iptables:
sudo iptables -A INPUT -p tcp --dport 5252 -j ACCEPT
oder:
Bitwarden bleibt wie bisher auf Port 5252, der Proxy muss dann auf einen anderen Port, z. B. 5253 konfiguriert werden. Der Aufruf erfolgt dann über https://mydomain.net:5253
docker run -d –name bitwarden -v /bw-data/:/data/ -p 5252:80 bitwardenrs/server:latest
bitwarden.conf:
Listen 127.0.0.1:5253
<VirtualHost *:5253>
ServerName mydomain.net
ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass / http://localhost:5252/
ProxyPassReverse / http://localhost:5252/
</VirtualHost>
iptables:
sudo iptables -A INPUT -p tcp --dport 5253 -j ACCEPT
Beachte die erste Zeile in der bitwarden.conf. Nur so hört der Proxy auch auf den ungewöhnlichen Port 525x. Wenn Du die bitwarden.conf angepasst hast, muss die Konfiguration des Webservers neu geladen werden:
sudo systemctl reload apache2
ok ich hab jetzt mal ersteres probiert... nur leider zwingt micht certbot einen VirtualHost für port 80 zur verifikation hinzuzufügen. das hab ich gem8. aber auf port 5252 ist leider immer noch nichts
Stimmt, der Certbot, da war was.
aber auf port 5252 ist leider immer noch nichts
Das heißt genau was? Was siehst Du, wenn Du http://mydomain.net:5252 aufrufst? Was siehst Du, wenn Du https://mydomain.net:5252 aufrufst?
Wie ist die Ausgabe von
sudo netstat -tlpen
?
Also das aufrufen von http://mydomain.net:4444/ geht sowiso...da schon der container das macht...ich hab dem container jetzt port 4444:80 gegeben. Aber die https version erreiche ich nur über https://mydomain.net/
Hier der output vom Befehl:
root@mhserver-public /e/apache2# netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1687/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1700/sshd
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 52510/postgres
tcp 0 0 0.0.0.0:4444 0.0.0.0:* LISTEN 17017/docker-proxy
tcp 0 0 0.0.0.0:8096 0.0.0.0:* LISTEN 51165/docker-proxy
tcp 0 0 127.0.0.1:5252 0.0.0.0:* LISTEN 47757/apache2
tcp6 0 0 :::80 :::* LISTEN 47757/apache2
tcp6 0 0 :::21 :::* LISTEN 1414/vsftpd
tcp6 0 0 :::22 :::* LISTEN 1700/sshd
tcp6 0 0 :::5432 :::* LISTEN 52510/postgres
tcp6 0 0 :::4444 :::* LISTEN 17023/docker-proxy
tcp6 0 0 :::8096 :::* LISTEN 51172/docker-proxy
tcp6 0 0 :::5252 :::* LISTEN 47757/apache2
tcp6 0 0 :::5252 :::* LISTEN 47757/apache2
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 52510/postgres
Das würde ich auf 127.0.0.1:5432 limitieren.
tcp 0 0 0.0.0.0:8096 0.0.0.0:* LISTEN 51165/docker-proxy
Ein weiterer Docker-Container?
tcp 0 0 127.0.0.1:5252 0.0.0.0:* LISTEN 47757/apache2
Der Apache hört ja nur auf localhost:5252. Der muss auf 0.0.0.0:5252 hören, sonst ist er nicht erreichbar. Ups, mein Fehler. In der bitwarden.conf muss die erste Zeile angepasst werden:
Listen *:5252
Ich habe leider keine subdomain...da auch die domain nicht mir gehöhrt... deswegen müsste ich das irgendwie so hinkriegen...da beim aufruf von https://mydomain.net eine website liegt...
mydomain.net:5252 -> bei http funktioniert es...ich kann mich jedoch nicht einloggen weil es https braucht