Apache https Websiten Port ändern?

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.

Kackhaufen200 
Fragesteller
 19.04.2021, 22:20

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

0
Kackhaufen200 
Fragesteller
 19.04.2021, 22:23
@franzhartwig

sorry aber was genau meinst du damit? wie soll meine config datei den aussehen?

0
franzhartwig  19.04.2021, 23:21
@Kackhaufen200

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?

0
franzhartwig  20.04.2021, 13:21
@Kackhaufen200

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
0
Kackhaufen200 
Fragesteller
 20.04.2021, 13:46
@franzhartwig

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

0
Kackhaufen200 
Fragesteller
 20.04.2021, 14:46
@franzhartwig

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

0
franzhartwig  20.04.2021, 17:16
@Kackhaufen200
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
0