Guten Abend zusammen,
für Nextcloud AIO wollte ich HAProxy als Reverse Proxy mit Wildcard-Zertifikat von Let's Encrypt und "SUBDOMAIN.dedyn.io" von deSEC installieren. Vorgehen analog Tutorial mit Adaption an aktuelle Felder und Einstellungen:
https://forum.opnsense.org/index.php?topic=23339.0
A) Plugin-Installation
- OPNsense aktuell mit OpenSSL
- os-acme-client, os-ddclient, os-haproxy sind installiert
B) DynDNS configuration
- Account in desec.io angelegt
- SUBDOMAIN.dedyn.io angelegt
- Token angelegt
- TOKEN
- CAA record mit 0, issuewild, "letsencrypt.org", 3600
- Beim Anlegen des CNAME gibt es folgenden Fehler:
RRset with conflicting type present: database (CAA, NS). (No other RRsets are allowed alongside CNAME.)
In der Doku steht dazu:
A CNAME record is not allowed when other records exist at the same subname. This is a limitation of the DNS specification.
https://desec.readthedocs.io/en/latest/dns/rrsets.html#unsupported-types - Dienste > Dynamisches DNS > Einstellungen > Allgemeine Einstellungen > Aktiviert, Intervall: 300, Backend: nativ
- Dienste > Dynamisches DNS > Einstellungen > Konten >
- Dienst: desec-v4 bzw. Custom
- Protokoll: entfällt bzw. DynDNS 2
- Server: entfällt bzw. update.dedyn.io
- Benutername: SUBDOMAIN.dedyn.io
- Passwort: TOKEN
- Wildcard: Nein
- Hostname: SUBDOMAIN.dedyn.io
- IP-Prüfmethode: Schnittstelle [IPv4]
- Zu überwachende Schnittstelle: WAN
- IP-Prüfzeitüberschretung: 10
- SSL erzwingen: Ja - Schnittstellen > Diagnose > Ping > Hostname oder IP: SUBDOMAIN.dedyn.io, Adressfamilie: IPv4, Quelladresse: LEER, Paketgröße: LEER, Nicht fragmentieren: Nein
=> Verlust: 100%, Fehler: sendto: Host is downIch habe dann zunächst lange gesucht und dann versucht, HAProxy zu konfigurieren, aber es blieb - vermutlich - bei diesem Fehler.
- Könnte ich bitte einen Hinweis bekommen, was ist statt CAA + CNAME bei deSEC konfigurieren muss oder nachlesen kann, wenn CNAME nur alleine eingegeben werden darf - oder
- könnte ich evtl. jemanden beauftragen, meine Einstellungen zu prüfen und korrigieren, damit ich Nextcloud installieren kann?
Nachfolgend noch meine Konfiguration (anonymisiert), Protokoll und Topologie.
Dankeschön & herzliche Grüße,
Rico
Dienste: HAProxy: Konfigurationsexport
[pre]#
# Automatically generated configuration.
# Do not edit this file manually.
#
global
uid 80
gid 80
chroot /var/haproxy
daemon
stats socket /var/run/haproxy.socket group proxy mode 775 level admin
nbthread 6
hard-stop-after 60s
no strict-limits
maxconn 10000
ocsp-update.mindelay 300
ocsp-update.maxdelay 3600
httpclient.resolvers.prefer ipv4
tune.ssl.default-dh-param 4096
spread-checks 2
tune.bufsize 16384
tune.lua.maxmem 0
log /var/run/log local0 info
lua-prepend-path /tmp/haproxy/lua/?.lua
defaults
log global
option redispatch -1
maxconn 5000
timeout client 30s
timeout connect 30s
timeout server 30s
retries 3
default-server init-addr last,libc
default-server maxconn 50000
# autogenerated entries for ACLs
# autogenerated entries for config in backends/frontends
# autogenerated entries for stats
# Frontend: 0_SNI_frontend (Listening on 0.0.0.0:80, 0.0.0.0:443)
frontend 0_SNI_frontend
bind 0.0.0.0:443 name 0.0.0.0:443
bind 0.0.0.0:80 name 0.0.0.0:80
mode tcp
default_backend SSL_backend
# logging options
# Frontend: 1_HTTP_frontend (Listening on 127.4.4.3:80)
frontend 1_HTTP_frontend
bind 127.4.4.3:80 name 127.4.4.3:80 accept-proxy
mode http
option http-keep-alive
default_backend Fallback_Backend
# logging options
# ACL: NoSSL_condition
acl acl_74z5hhgd42d038.47994567 ssl_fc
# ACTION: HTTPtoHTTPS_rule
http-request redirect scheme https code 301 if !acl_74z5hhgd42d038.47994567
# Frontend: 1_HTTPS_frontend (Listening on 127.4.4.3:443)
frontend 1_HTTPS_frontend
http-response set-header Strict-Transport-Security "max-age=6307200; includeSubDomains; preload"
bind 192.168.50.1:443 name 192.168.50.1:443 accept-proxy ssl curves secp384r1 ssl-min-ver TLSv1.3 ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 alpn h2,http/1.1 crt-list /tmp/haproxy/ssl/74z5hhgd42d038.47994567.certlist
mode http
option http-keep-alive
default_backend Fallback_Backend
# logging options
# ACL: PUBLIC_SUBDOMAINS_condition
acl acl_74z5hhgd42d038.47994567 hdr_reg(host) -i .*\.SUBDOMAIN\.dedyn\.io
# ACTION: PUBLIC_SUBDOMAINS_rule
use_backend %[req.hdr(host),lower,map_dom(/tmp/haproxy/mapfiles/4z5hhgd42d038.47994567.txt)] if acl_74z5hhgd42d038.47994567.53560960
# Backend: SSL_backend (Backend für SSL Offloading)
backend SSL_backend
# health checking is DISABLED
mode tcp
balance source
# stickiness
stick-table type ip size 50k expire 30m
stick on src
server SSL_server 127.4.4.3:443 send-proxy-v2 check-send-proxy
# Backend: Nextcloud_Backend (Backend für Nextcloud Service)
backend Nextcloud_Backend
# health checking is DISABLED
mode http
balance source
# stickiness
stick-table type ip size 50k expire 30m
stick on src
http-reuse safe
server Nextcloud_Server 192.168.50.48:8080
# Backend: Fallback_Backend (Fallback Backend, falls Subdomain nicht vorhanden ist)
backend Fallback_Backend
# health checking is DISABLED
mode http
balance source
# stickiness
stick-table type ip size 50k expire 30m
stick on src
http-reuse safe
server Fallback_Server 127.4.4.3:80
# Backend: UgreenNAS_Backend (Backend für UGREEN DXP480T Plus)
backend UgreenNAS_Backend
# health checking is DISABLED
mode http
balance source
# stickiness
stick-table type ip size 50k expire 30m
stick on src
http-reuse safe
server UgreenNAS_Server 192.168.50.48:9443 ssl alpn h2,http/1.1 verify none
# Backend: OPNsense_Backend (Backend für OPNsense Mini-PC)
backend OPNsense_Backend
# health checking is DISABLED
mode http
balance source
# stickiness
stick-table type ip size 50k expire 30m
stick on src
http-reuse safe
server OPNsense_Server 192.168.50.1:55443 ssl alpn h2,http/1.1 verify none
# Backend: AsusRouter_Backend (Backend für ASUS GT-BE98)
backend AsusRouter_Backend
# health checking is DISABLED
mode http
balance source
# stickiness
stick-table type ip size 50k expire 30m
stick on src
http-reuse safe
server AsusRouter_Server 192.168.50.2:8398 ssl alpn h2,http/1.1 verify none
# statistics are DISABLED[/pre]
Dienste: HAProxy: Protokolldatei
=> hat immer wieder den gleichen Eintrag mit unterschiedlichen "from" Ports - sonst alles gleich.
2025-10-01T22:04:52
Informational
haproxy
Connect from 127.4.4.3:35006 to 127.4.4.3:443 (0_SNI_frontend/TCP)
Topologie:
WAN / Internet Telekom
|
| VDSL
|
.-+-------------.
| FritzBox | 172.168.178.1 Modem
'-+-------------'
|
| WiFi-5
|
.-+-------------.
| FritzRepeater | 172.168.178.17 Access-Point
'-+-------------'
|
| 1G LAN
|
.-+-------------. .- 172.168.178.5 Exposed Host
| OPNsense | |
'-+-------------' '- 172.168.50.1/24 FW, DHCP-Server, später: VPN, Reverse Proxy
|
| 2.5G LAN
|
.-+-----+-------.
| ASUS GT-BE98 | 172.168.50.2 Access-Point, keine FW, kein DHCP-Server, kein VPN
'-++++----------'
||||
|||| 10G LAN
|||| .---------------.
|||+-----------+ DXP-480T NAS | 172.168.50.48 Netzlaufwerke, Nextcloud, Home Assistant etc.
||| '---------------'
||| 10G LAN
||| .---------------.
||+------------+ Notebook | 172.168.50.4 Windows 11
|| '---------------'
|| 2.5G LAN
|| .---------------.
|+-------------+ Clients | 172.168.50.x Mini PC, Notebook, NAS
| '---------------'
| WiFi-7
| .---------------.
+--------------+ Clients | 172.168.50.x Tablet, Notebook, Smartphones, IoT (später: VLAN)
'---------------'