Webdienste ohne DYNDNS (frp - fast reverse proxy)
frp - fast reverse proxy
Ich gehe von aus jeder der die Anleitung nutz genug Linux Kenntnisse hat (das ist kein Linux Kurs)
1. Beispiel für ein mögliches Einsatzszenario
In diesem Beispiel läuft im Homeoffice ein Webserver (in meinem Beispiel unter Ubuntu 22.04), dort Laufen Dienste wie z. B. Nextcloud oder ähnliches
2. Was wird benötigt:
3. Wir beginnen mit der VM beim Hoster:
Damit wir es einfacher haben bei neuen Versionen von frp legen wir einen symbolischen link an:
mit einem Texteditor eurer Wahl erstellt ihr die frp-server Konfiguration:
Auf der VM beim Hoster noch den Port 7000 (tcp) öffnen, ich setze bei mir nftables ein:
den frp-server starte ihr mit:
Damit wir es einfacher haben bei neuen Versionen von frp legen wir einen symbolischen link an:
mit einem Texteditor eurer Wahl erstellt ihr die frp-client Konfiguration:
um den frp-client zu starten müsst ihr einfach:
aufrufen.
Was Fehlt:
Gruß Michael
Bitte beachten da es keine DAU taugliche Anleitung ist!
Ich gehe von aus jeder der die Anleitung nutz genug Linux Kenntnisse hat (das ist kein Linux Kurs)
1. Beispiel für ein mögliches Einsatzszenario
- Bei eurem ISP bekommt ihr keine Öffentliche IPv4 und habt keine Möglichkeit DYNDNS zu nutzen
In diesem Beispiel läuft im Homeoffice ein Webserver (in meinem Beispiel unter Ubuntu 22.04), dort Laufen Dienste wie z. B. Nextcloud oder ähnliches
2. Was wird benötigt:
- Eigene Domain (du willst ja www.meinedomain.de aufrufen, oder ähnlich)
- VM bei einem Hoster oder Cloud (NetCup, Hetzner, AWS) in dem Beispiel auch mit Ubuntu 22.04
- frp (https://github.com/fatedier/frp)
3. Wir beginnen mit der VM beim Hoster:
cd /opt/
curl -L -O https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
tar -xzvf frp_0.44.0_linux_amd64.tar.gz
ln -s frp_0.44.0_linux_amd64 frp
mkdir /etc/frp
touch /etc/frp/frps.ini
mit einem Texteditor eurer Wahl erstellt ihr die frp-server Konfiguration:
# frp server config frps.ini
[common]
bind_port = 7000
vhost_http_port = 80
token = einentokeneurerwahl (ich nutze dafür immer einen passwortmanager, immer schön lang/komplex)
Auf der VM beim Hoster noch den Port 7000 (tcp) öffnen, ich setze bei mir nftables ein:
# frp
tcp dport 7000 accept
/opt/frp/frps -c /etc/frp/frps.ini
4. frp client einrichten auf eurem Ubuntu 22.04
Wie bei dem Server müssen wir unsere Systemumgebung vorbereiten:
cd /opt/
curl -L -O https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
tar -xzvf frp_0.44.0_linux_amd64.tar.gz
ln -s frp_0.44.0_linux_amd64 frp
mkdir /etc/frp
touch /etc/frp/frpc.ini
mit einem Texteditor eurer Wahl erstellt ihr die frp-client Konfiguration:
# frp client config frpc.ini
[common]
server_addr = vm_beim_hoster.meinedomain.de (oder die Feste IPv4/IPv6)
server_port = 7000
log_file = /var/log/frp/frpc.log
token = einentokeneurerwahl (ich nutze dafür immer einen passwortmanager, immer schön lang/komplex)
[web]
type = http
local_port = 8899
custom_domains = www.meinedomain.de
# Enable TCP health check
health_check_type = tcp
# TCPing timeout seconds
health_check_timeout_s = 3
# If health check failed 3 times in a row, the proxy will be removed from frps
health_check_max_failed = 3
# A health check every 10 seconds
health_check_interval_s = 10
um den frp-client zu starten müsst ihr einfach:
/opt/frp/frpc -c /etc/frp/frpc.ini
Was Fehlt:
- ihr müsst noch auf dem Server den Port 80 Freigeben
- HTTPS, ich mache es bei mir mit LE und einem nginx als Reverse Proxy
- frp soll automatisch Starten/Stopen also müsst ihr euch noch ein systemd script schreiben/erstellen
Gruß Michael
Bitte beachten da es keine DAU taugliche Anleitung ist!
Please also mark the comments that contributed to the solution of the article
Content-ID: 4337471392
Url: https://administrator.de/contentid/4337471392
Printed on: October 16, 2024 at 01:10 o'clock