Indigo
raub_UrhG_vergewaltiger
|
ich hoffe von euch ist jemand apache fit, ich seh mich nicht mehr raus ich habe einige VMs (nextcloud, fhem fürs erste) die ich über einen dyndns alias nach aussen exposen möchte momentan läuft das über portforwarding am router, die nextcloud instanz hört auf port 80 und 443 (letsencrypt SSL), die fhem instanz über port 8083 also meine.ddns.net:80/443 (https) und meine.ddns.net:8083 der eleganz halber möchte ich beide instanzen über SSL sichern und dafür mittels reverse proxy und locations zu folgendem ergebnis kommen: meine.ddns.net/nc für die nextcloud instanz und meine.ddns.net/fhem für die fhem instanz beide über ein SSL zertifikat für meine.ddns.net - das sollte doch so möglich sein, oder? soweit so gut fhem hat im internen netz die IP 10.0.0.201 nextcloud im internen netz die IP 10.0.0.215 habe momentan eine weitere VM mit debian und apache2 aufgesetzt die quasi das zukünftige frontend für die beiden instanzen bilden soll und reverse proxy spielen soll - IP 10.0.0.238 soweit so klar, also am router die ports 80 und 443 auf 10.0.0.238 umgeleitet und zu spielen begonnen webserver.conf am frontend wie folgt (zum testen erstmal ohne SSL auf port 80) <VirtualHost *:80>
ServerAdmin [email]blablablubb@bla.com[/email]
ServerName meine.ddns.net
ProxyRequests off
DocumentRoot /var/www/html
ProxyPreserveHost on
<Location>
ProxyPass "/nc" "http://10.0.0.215:80/"
ProxyPassReverse "/nc" "http://10.0.0.215:80/"
ProxyPass "/fhem" "http://10.0.0.201:8083/"
ProxyPassReverse "/fhem" "http://10.0.0.201:8083/"
Order allow,deny
Allow from all
</Location>
</VirtualHost>
weder intern via 10.0.0.238/nc respektive /fhem noch über meine.ddns.net/nc bzw. /fhem komme ich auf den jeweiligen server ich forste schon den ganzen tag rum, aber komm nicht weiter...
|
Viper780
Er ist tot, Jim!
|
Muss es apache sein?
Dafür würd ich eher nginx nehmen.
|
othan
Layer 8 Problem
|
Ich hab zuhause sowas gebastelt (allerdings mit sub-Domains und nicht mit sub-Foldern) Durch einen erzwungenen Providerwechsel kann ich aber gerade nicht drauf zugreifen. Hatte eine "proxy-VM" die je nach subdomain auf 3-4 verschiedene interne Webserver umgeleitet hat (Webserver, Bastelserver, Monitoring...) Vielleicht komm ich am Abend dazu, um mal reinzuschauen. Wollte es eigentlich für die Arbeit dokumentieren, aber der Ausbildner war der Meinung, dass ein Reverse-Proxy für die Lernenden nicht interessant genug sei
|
Indigo
raub_UrhG_vergewaltiger
|
Muss es apache sein?
Dafür würd ich eher nginx nehmen. macht es das einfacher? mir ists grundsätzlich wurscht welcher webserver zum einsatz kommt, funzen muss es Ich hab zuhause sowas gebastelt (allerdings mit sub-Domains und nicht mit sub-Foldern) Durch einen erzwungenen Providerwechsel kann ich aber gerade nicht drauf zugreifen.
Hatte eine "proxy-VM" die je nach subdomain auf 3-4 verschiedene interne Webserver umgeleitet hat (Webserver, Bastelserver, Monitoring...)
Vielleicht komm ich am Abend dazu, um mal reinzuschauen.
Wollte es eigentlich für die Arbeit dokumentieren, aber der Ausbildner war der Meinung, dass ein Reverse-Proxy für die Lernenden nicht interessant genug sei subdomain spielts leider aufgrund des dyndns accounts nicht...
|
COLOSSUS
AdministratorGNUltra
|
Ich hab zuhause sowas gebastelt (allerdings mit sub-Domains und nicht mit sub-Foldern) Das ist meistens der Schluessel zum Erfolg beim Reverse-Proxying von Applikationen, die nicht unbedingt vom Erfinder dafuer gebaut wurden Tut man das nicht, und zieht stattdessen eine Pfad-Komponente in den URI ein, die man dann am Reverse Proxy wieder rausschneiden muss, kann man sich Unmengen an Bauchschmerzen einhandeln - egal ob nginx oder apache2 oder sonstwas. Edith meint: Wenn dein DynDNS-Provider das nicht kann: Wechsle ihn! Zum gepasteten apache-config-Abschnitt: Sicher, dass die Konfiguration ueberhaupt effektiv ist? Aus dem Effeff kann ich nicht sagen, ob <Location> ohne Argument valide ist. Zeigt dir `apachectl -S` am Host, dass die Konfiguration in Ordnung ist und geladen wurde?
|
othan
Layer 8 Problem
|
subdomain spielts leider aufgrund des dyndns accounts nicht... sicher? dachte es gäbe Anbieter, die das erlauben. Hab aber schon Ewigkeiten nicht mehr mit dyndns gespielt
|
Indigo
raub_UrhG_vergewaltiger
|
sicher? dachte es gäbe Anbieter, die das erlauben. Hab aber schon Ewigkeiten nicht mehr mit dyndns gespielt https://freedns.afraid.orgausser ich bin zu blöd um es einzurichten...
|
COLOSSUS
AdministratorGNUltra
|
Nimm einfach zwei eigenstaendige Records/Domains fuer die selbe IPaddr (mit der Option "Link updates of the same IP together?" kannst du sogar veranlassen, dass du nur einen Record updaten musst, um alle auf die selbe Adresse aufloesenden gemeinsam zu schalten), bzw. check dir das "Wildcard"-Flag bei einem deiner Records, dann kannst du beliebige Prefixe an deinen Domainnamen dranheften, und die resolven alle auf die selbe Adresse. Letzteres sollte auch ohne Wildcard-Cert (dafuer brauchst es afair ACME via DNS statt HTTP, was mit freedns evtl. gar nicht moeglich ist) mit Letsencrypt mit vertretbarem Aufwanf moeglich sein, wenn du nur eine Hand voll Domainnamen aktiv verwendest.
|
berndy2001
|
afraid.org kann als free-user keine wildcard domains auflösen, nimm duckdns.org
Oder du registriert einen zweiten host bei afraid und hast dann xyz.ddns.net und asd.xyz.ddns.net, letzteren mit typ cname, dann brauchst du nur den haupthost updaten.
Bearbeitet von berndy2001 am 24.04.2019, 15:03
|
Rogaahl
Super Moderatorinterrupt
|
Muss es apache sein?
Dafür würd ich eher nginx nehmen. Zusätzlich würde ich da eher auf docker als VM setzen. Also einfach einen Letsencrypt docker installieren, der hat alles für ngnix reverse proxy parat. Reverse Proxy geht dann sehr einfach mit: subdomain: server {
listen 443 ssl;
listen [::]:443 ssl;
server_name nextcloud.*;
include /config/nginx/ssl.conf;
client_max_body_size 0;
location / {
include /config/nginx/proxy.conf;
resolver 127.0.0.11 valid=30s;
set $upstream_nextcloud nextcloud;
proxy_max_temp_file_size 2048m;
proxy_pass [url]https://[/url]$upstream_nextcloud:443;
}
}
Subfolder: # Redirects for DAV clients
location = /.well-known/carddav {
return 301 $scheme://$host/nextcloud/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/nextcloud/remote.php/dav;
}
location /nextcloud {
return 301 $scheme://$host/nextcloud/;
}
location ^~ /nextcloud/ {
include /config/nginx/proxy.conf;
resolver 127.0.0.11 valid=30s;
set $upstream_nextcloud nextcloud;
rewrite /nextcloud(.*) $1 break;
proxy_pass [url]https://[/url]$upstream_nextcloud:443;
proxy_max_temp_file_size 2048m;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_set_header Connection $http_connection;
proxy_redirect off;
proxy_ssl_session_reuse off;
}
|
COLOSSUS
AdministratorGNUltra
|
... was dir, im Vergleich zu einem cronjob/systemd-timer mit acme-tiny oder certbot, genau nichts bringt - abgesehen von zusaetzlicher Komplexitaet und totaler Erschossenheit beim Versuch, dadurch entstandene Probleme zu debuggen.
|
Viper780
Er ist tot, Jim!
|
macht es das einfacher? mir ists grundsätzlich wurscht welcher webserver zum einsatz kommt, funzen muss es . Für mich schon, generell wirds wurscht sein. Je nach dem wie tief du rein willst hätt ich jetzt auch docker dafür vorgeschlagen.
|
Indigo
raub_UrhG_vergewaltiger
|
afraid.org kann als free-user keine wildcard domains auflösen, nimm duckdns.org
Oder du registriert einen zweiten host bei afraid und hast dann xyz.ddns.net und asd.xyz.ddns.net, letzteren mit typ cname, dann brauchst du nur den haupthost updaten. zugegebenermassen hab ich hier noch ein kleines verständnisproblem: wenn ich in afraid.org zwei cnames erstelle (fhem.meine.ddns.net, nc.meine.ddns.net) welche auf den haupthost (meine.ddns.net) zeigen. checkt der apache woher der request kommt und ich kann es mit folgender virtualhost definition verzweigen <VirtualHost fhem.meine.ddns.net:443>
ProxyPass / [url]http://10.0.0.201:8083/[/url]]
ProxyPassReverse / [url]http://10.0.0.201:8083/[/url]
</VirtualHost>
<VirtualHost nc.meine.ddns.net:443>
ProxyPass / [url]http://10.0.0.215:80/[/url]
ProxyPassReverse / [url]http://10.0.0.215:80/[/url]
</VirtualHost>
mit letsencrypt ein zertifikat für beide domains erstellen oder lieber ein wildcard zertifikat für meine.ddns.net?
|
COLOSSUS
AdministratorGNUltra
|
mit letsencrypt ein zertifikat für beide domains erstellen oder lieber ein wildcard zertifikat für meine.ddns.net? Fuer die E2E-Verschluesselung ist das gleichwertig (die Apache-Konfiguration ist mit den zwei Zertifikaten etwas umfangreicher, weil du eben zwei unterschiedliche Zertifikate in jeweils einem VHost konfigurieren musst), aber Wildcard-Certs sind bei LE "schwieriger", d. h. nicht mit der HTTP-ACME-Challenge, signiert zu bekommen. Du musst entscheiden, was fuer dich einfacher ist - aber ich nehme an, dass der Weg mit Zertifikaten fuer zwei Namen der einfachere ist.
|
Indigo
raub_UrhG_vergewaltiger
|
hab grad versucht mit letsencrypt die afraid.org cnames zu zertifizieren, funzt irgendwie nicht, acme challenge schlägt fehl... der haupthost hat bereits ein zertifikat, bei den subs gehts nicht...
also wirds wohl die variante mit subfolders werden müssen... hiezu bräuchte ich allerdings ein wenig input oder eine beispielconfig die ich für meine zwecke entfremden kann
hat wer was brauchbares für mich?
|