OPNsense Forum

International Forums => German - Deutsch => Topic started by: Lip90 on March 31, 2021, 04:38:55 pm

Title: HAProxy Openvpn + Seafile Server
Post by: 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  :'(?
Title: Re: HAProxy Openvpn + Seafile Server
Post by: lfirewall1243 on March 31, 2021, 08:03:17 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
Title: Re: HAProxy Openvpn + Seafile Server
Post by: Lip90 on April 01, 2021, 06:38:36 pm
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):

Code: [Select]
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 ::

Code: [Select]
#
# 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

Title: Re: HAProxy Openvpn + Seafile Server
Post by: KHE on April 02, 2021, 12:23:06 am
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.
Title: Re: HAProxy Openvpn + Seafile Server
Post by: KHE on April 02, 2021, 09:13:06 am
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
Title: Re: HAProxy Openvpn + Seafile Server
Post by: Lip90 on September 14, 2021, 08:22:11 pm
 :)