Hallo Leute,
ich hoffe mir kann jemand mit meinem Problem bei HAProxy helfen. Ich habe nur rudimentäre Kenntnisse und befolge am liebsten Anleitungen mit Screenshots. Leider habe ich nichts passendes gefunden.
Ich möchte nur zwei Dinge hinbekommen...
Der HAProxy soll alle Anfrage die über https://xyz.domain.com kommen intern zu meinen Seafile-Server übergeben der reversproxy mit Nginx macht. Auch das lets encrypt SSL Zertifikat wird von Seafile selbst erstellt.
Sollte aber eine anfrage über Port 443 zyx.domain.com kommen soll er HAProxy an meinen openVPN Server vermitteln.
Das sollte doch möglich sein oder? Aber nur wie :'(?
Quote from: Lip90 on March 31, 2021, 04:38:55 PM
Hallo Leute,
ich hoffe mir kann jemand mit meinem Problem bei HAProxy helfen. Ich habe nur rudimentäre Kenntnisse und befolge am liebsten Anleitungen mit Screenshots. Leider habe ich nichts passendes gefunden.
Ich möchte nur zwei Dinge hinbekommen...
Der HAProxy soll alle Anfrage die über https://xyz.domain.com kommen intern zu meinen Seafile-Server übergeben der reversproxy mit Nginx macht. Auch das lets encrypt SSL Zertifikat wird von Seafile selbst erstellt.
Sollte aber eine anfrage über Port 443 zyx.domain.com kommen soll er HAProxy an meinen openVPN Server vermitteln.
Das sollte doch möglich sein oder? Aber nur wie :'(?
Hätten wir vor kurzem hier im Forum
Das erste ist ja ein normales HAProxy Setup
Der zweite Fall war hier vor kurzen, schau Mal in der Suche
Ich habe es hinbekommen. Die Config die funktioniert hängt ganz unten dran. Vielleicht hilft es dem ein oder anderen.
Ein Problem habe ich noch.
Der Certbox auf meinem Seafileserver kann nun das SSL Zertifikat nicht mehr erneuen.
Hier ein Auszug der Fehlermeldung (Domain habe ich unkenntlich gemacht):
Performing the following challenges:
http-01 challenge for cloud.domainxyz.de
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. cloud.domainxyz.de (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain ::
#
# 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
nbproc 1
nbthread 1
tune.ssl.default-dh-param 2048
spread-checks 2
tune.chksize 16384
tune.bufsize 16384
tune.lua.maxmem 0
log /var/run/log local0 info
defaults
log global
option redispatch -1
timeout client 30s
timeout connect 30s
timeout server 30s
retries 3
default-server init-addr last,libc
# autogenerated entries for ACLs
# autogenerated entries for config in backends/frontends
# autogenerated entries for stats
# Frontend: https_passthrough ()
frontend https_passthrough
bind 0.0.0.0:443 name 0.0.0.0:443
mode tcp
default_backend OpenVPNBackend
# tuning options
timeout client 30s
# logging options
# ACL: traffic_ssl
acl acl_6065828520f318.80916105 req_ssl_hello_type 1
# ACL: myservice_sni_seafile
acl acl_606582cba59604.58079977 req.ssl_sni -i cloud.domainxyz.de
# ACTION: request_inspect_delay
# NOTE: actions with no ACLs/conditions will always match
tcp-request inspect-delay 5s
# ACTION: request_content_accept_ssl
tcp-request content accept if acl_6065828520f318.80916105
# ACTION: myservice_sni_seafile
use_backend seafile_backend if acl_606582cba59604.58079977
# Backend: seafile_backend ()
backend seafile_backend
# health checking is DISABLED
mode tcp
balance source
# stickiness
stick-table type ip size 50k expire 30m
stick on src
# tuning options
timeout connect 30s
timeout server 30s
server seafile 192.168.30.15:443
# Backend: OpenVPNBackend ()
backend OpenVPNBackend
# health checking is DISABLED
mode tcp
balance source
# stickiness
stick-table type ip size 50k expire 30m
stick on src
# tuning options
timeout connect 30000
timeout server 30000
retries 3
server opnvpnserver 127.0.0.1:1194
Hi,
der http-01 Challenge von Let's Encrypt braucht Port 80. Den musst du an den Seafile-Server weiterleiten.
Stelle das Let's Encrypt Plugin der Opnsense um, dass der HAProxy für die Weiterleitung von Port 80 an das Let's Encrypt Plugin Backend zuständig ist und konfiguriere den HAProxy so, dass er je nach Domäne an den Seafile-Server oder das Let's Encrypt Plugin weiterleitet.
Gruß KH
PS: Das unkenntlich machen der Domäne ist nicht vollständig.
Hi,
man sollte spät abends nicht noch was schreiben.
Dein Fall ist ja einfacher, da du mit OpenVPN ja eigene Zertifikate verwendest und Let's Encrypt auf de Opnsense vermutlich gar nicht läuft. Dann mach einfach einen Portforward von Port 80 zum Seafile-Server. Alternativ sage dem HAProxy er soll alles von Port 80 an den Seafile-Server weiterreichen.
Gruß KH
:)