Apache Reverse Proxy Server - Keine Weiterleitung

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
Benutzeravatar
Stefan
Beiträge: 1392
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Apache Reverse Proxy Server - Keine Weiterleitung

Beitrag von Stefan » 14.11.2020 12:41:33

Hallo zusammen,

ich habe auf meinem Raspbery Pi einen Apache Reverse Proxy Server aufgesetzt.
Ich möchte hier meine zwei Server - Netxcloud und Jitsi Meet von aussen (internet) erreichen.

Meinen Apache Reverse Proxy Server habe ich so installiert und eingerichtet.
## install apache2 ##
apt-get update
apt-get install apache2 -y

## enable moduls ##
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
service apache2 restart

## create config for 1st client ##
nano /etc/apache2/sites-enabled/server1.conf

<VirtualHost *:80>
ServerName subdomain11.yourdomain.com
ProxyPreserveHost On
DocumentRoot /var/www/html
ProxyPass /.well-known !
ProxyPass / http://10.1.1.11:80/
ProxyPassReverse / http://10.1.1.11:80/
</VirtualHost>

## create config for 2nd client ##
nano /etc/apache2/sites-enabled/server2.conf
<VirtualHost *:80>
ServerName subdomain12.yourdomain.com
ProxyPreserveHost On
DocumentRoot /var/www/html
ProxyPass /.well-known !
ProxyPass / http://10.1.1.12:80/
ProxyPassReverse / http://10.1.1.12:80/
</VirtualHost>

## restart apache server ##
service apache2 restart

## install Let's Encrypt Certbot ##
apt-get install python-certbot-apache

## create certificates ##
certbot --apache

#--> certificate only lasts 90 days

#install crontab
crontab -e

0 1 * * * /usr/bin/certbot renew & > /dev/nul
Natürlich habe ich die /etc/apache2/sites-enabled/server1.conf und /etc/apache2/sites-enabled/server2.conf auf meine Dyndns Adressen angepasst und meine Lokalen IP eingetragen.

Die ssl Zertifizierung sollte für beide Domains auch funktionieren.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting vhost in /etc/apache2/sites-enabled/server1.conf to ssl vhost in /etc/apache2/sites-enabled/server1-le-ssl.conf
Redirecting vhost in /etc/apache2/sites-enabled/server2.conf to ssl vhost in /etc/apache2/sites-enabled/server2-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://.dyndns.org and
https:/mine.nu
Beispiel von mir:
/etc/apache2/sites-enabled/server2.conf
<VirtualHost *:80>
ServerName videomeet.dyndns.org
ProxyPreserveHost On
DocumentRoot /var/www/html
ProxyPass /.well-known !
ProxyPass / http://192.168.0.50:80/
ProxyPassReverse / http://192.168.0.50:80/
RewriteEngine on
RewriteCond %{SERVER_NAME} =videomeet.dyndns.org
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>






Ich habe in meiner Fitzbox die Ports 4430 und 80 auf den pi weitergeleitet.
Rufe ich meine Seite aber über das Internet auf erhalte ich diese Meldungen:
Fehler: Umleitungsfehler
Beim Verbinden mit videomeet.dyndns.org trat ein Fehler auf.
Dieses Problem kann manchmal auftreten, wenn Cookies deaktiviert oder abgelehnt werden
Ich habe die Cookies gelöscht von unterschiedlichen Rechner und Netzten probiert, leider bleibt diese Meldung.
Was kann ich machen? Kann mir einer behilflich sein.
Gruß

Stefan
Ein Betriebssystem sie zu knechten, sie alle zu finden, Ins Dunkle zu treiben und ewig zu binden, Im Lande Microsoft wo die Schatten drohen.

Debian 7 3.2.0-4 64 - MSI nVidia GeForce 7600 GS - 8 DDR2 SDRAM 800 MHz Quad-CoreIntel Xeon : 2,67 GHz - Gigabyte GA-EP45-DS3 - 256GB SSD 840 Pro Gnome 3

Benutzeravatar
HZB
Beiträge: 486
Registriert: 22.10.2003 11:52:15
Wohnort: Wien

Re: Apache Reverse Proxy Server - Keine Weiterleitung

Beitrag von HZB » 20.11.2020 21:13:56

Du hast lediglich den Port 80 konfiguriert aber ein LetEncrypt Zertifikat für Deine beiden Server erstellt.

Was Du Dir überlegen / anschauen solltest ist, die beiden Dienste per SSL erreichbar zu machen.
Als Ansatz: Der Proxy terminiert die SSL Sessions für die Dienste, und reicht die Anfragen an das interne Netz / Server weiter.
Weiterer Ansatz / Hilfestellung. Das was Du benötigst ist SSL SNI.

hth

Benutzeravatar
Stefan
Beiträge: 1392
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Re: Apache Reverse Proxy Server - Keine Weiterleitung

Beitrag von Stefan » 22.11.2020 17:03:56

Hallo,

ich habe einmal zwei Grundsätzliche Angelegenheiten.
Zum einen hoffe das ich mich richtig ausgedrückt habe, ich möchte meine beiden Dienste Jistsi.Mett und Nextcloud die alle auf eigenen Systemen laufen über das Internet erreichbar machen.
Da beide Dienste den Port 443 nutzen wollte ich den Proxy Reverse dazwischen schalten und diese so einstellen, dass er bei dem Aufruf jitsi.dyndns,org auf den Server Linkt und beim Aufruf nextclou.dyndns.org auf den Nexctloud Server verweist.

Ich habe dazu ein Bild erstellt um das besser darzustellen.

Bild

Zum zweiten, steht in der Anleitung:

nano /etc/apache2/sites-enabled/server1.conf
Muss die Datei nicht unter
nano /etc/apache2/sites-available/server1.conf

Ich habe auf den Systemen Jitsi und nextcloud eigenen SSL Zertifikate erstellen lassen, ziel soll es sein das der Proxy diese Zertifikate erstellt und auch weiterleitet.
<VirtualHost *:443>
ServerName DEINEDOMAIN.TLD
DocumentRoot /var/www/html

SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Errorlog ${APACHE_LOG_DIR}/https_error.log
Customlog ${APACHE_LOG_DIR}/https_access.log combined
</VirtualHost>
Hatte auch so eine Version getestet, leider ohne Erfolg.
Hast du oder andere noch irgendwelche Ideen ?
Ein Betriebssystem sie zu knechten, sie alle zu finden, Ins Dunkle zu treiben und ewig zu binden, Im Lande Microsoft wo die Schatten drohen.

Debian 7 3.2.0-4 64 - MSI nVidia GeForce 7600 GS - 8 DDR2 SDRAM 800 MHz Quad-CoreIntel Xeon : 2,67 GHz - Gigabyte GA-EP45-DS3 - 256GB SSD 840 Pro Gnome 3

letzter3
Beiträge: 306
Registriert: 16.07.2011 22:07:31

Re: Apache Reverse Proxy Server - Keine Weiterleitung

Beitrag von letzter3 » 23.11.2020 03:03:48

Ist die Signatur aktuell?

Benutzeravatar
HZB
Beiträge: 486
Registriert: 22.10.2003 11:52:15
Wohnort: Wien

Re: Apache Reverse Proxy Server - Keine Weiterleitung

Beitrag von HZB » 24.11.2020 15:36:15

Die Zertifikate von Letsencrypt terminieren auf dem Reverse Proxy.

Option 1) Die Zertifikate von letsencrypt mittels task an Jitsi und Nextcloud weiterleiten und dort installieren
Option 2) Du belässt die selbsterstellten Sneakoil und sagst dem Proxy er braucht diese nicht zu validieren.

nur dann wird es mmn klappen.

Benutzeravatar
novalix
Beiträge: 1802
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Apache Reverse Proxy Server - Keine Weiterleitung

Beitrag von novalix » 24.11.2020 19:10:40

Ich denke auch, Du solltest zunächst einmal überlegen, wo der SSL-Tunnel enden soll. Dabei kann man unterscheiden zwischen reinem routing und der notwendigen HTTP-Server-Logik.

Normalerweise sollte es nicht nötig sein, im Hinterzimmer (Deinem LAN) den Tunnel bis zur jeweiligen Maschine zu bohren. In diesem Fall sollten auf dem Proxy die SSL-Leitungen terminiert werden, d.h. auch die Zertifikate von Letsencrypt abgelegt werden. Das kann man mit dem Apache machen, üblicherweise werden dafür aber leichtgewichtigere Alternativen bevorzugt. Die coolen Kids nehmen heuer Debiannginx, die Pros Debianhaproxy und die coole professionelle Leichtgewichtsfraktion sowas wie Debianhitch.
Man kann aber ach z.B. mit Debianbalance den TCP-Traffic der entsprechenden Ports (80 und 443) auf die jeweiligen Maschinen leiten und dort die jeweiligen Endpoints und die jeweilige Zertifikatsverwaltung konfigurieren.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Antworten