Aller au contenu

Messages recommandés

Posté(e)

Bonjour tout le monde.

 

J'ai un serveur web installé sur un NAS Synology.

Par ailleurs j'ai un HAProxy installé sur une Debian dédiée.

Je peux accéder à mes sites web en local

http://192.168..xxx.yyy/domocharts/index.php

 

comment devrais-je configurer mon HAProxy pour que je puisse y accéder depuis l'extérieur :

https://sousdom.chez.moi/domocharts/index.php

J'ai déjà installé les certificats Letsencrypt.

Voici l'erreur que j'ai
qa1j.png

Merci de votre aide

Posté(e)

Bonjour Jojo,

C'est dommage de ne pas utiliser le proxy inversé (HAProxy) du Synology s'il a aussi un serveur Web.

 

Là, ton erreur c'est comme si tu avais une option qui transporte en https même si tu as demandé du http.

C'est une option de ton serveur HAProxy ou de ton serveur web sur le NAS Synology.

 

Posté(e)

merci, c'est en effet ce que je pensais.

Toutes mes connections sont en https, même si derrière c'est du http.

Maintenant j'aurais espéré que quelqu'un qui utilise également HRProxy me partage sa config pour ce point particulier, et cela m'inspire pour corriger la mienne.

 

Tu m'as également donné une idée, si Synology peut faire le job, ce serait encore plus simple (mais je dois encore évaluer, car si maintenant ce Syno tombe,tous mes accès externes tombent)

Posté(e) (modifié)

Si c'est pour domocharts, il n'y a pas de connexion avec user/password donc je ferais un appel en http vers du http et non en https vers du http, dans ton HAProxy.

Modifié par Kana-chan
  • Thanks 1
Posté(e)

C'est pas @mprinfo qui t'avais aidé pour installer ton HAProxy ?

 

Perso je ne peux pas te donner ma config, c'est trop particulier (double reverse-proxy avec WAF, pages hébergées en DMZ (VLAN dédié), même les requêtes SQL passent par le reverse proxy), donc pas du tout transposable.
Et si je devais remettre le nez dans ce que j'ai mis en place à l'époque, je serais bien embêté... c'était pas simple.

 

Posté(e)

j'ai installé et configuré HAProxy tout seul comme un grand.

Et au début pas de soucis de certificat SSL, car il était possible d'obtenir des certificats wildcard gratuitement.

Et quand cette possibilité a disparu, c'est là que mprinfo m'a proposé un script génial de renouvellement automatique des certificats.

 

Ta solution me semble en effet voler trop haut au-dessus de mes capacités.

 

Et comme mes sites web sont accédés sans user ni mdp, on peut sans soucis oublier le s de https

 

Posté(e)

Je ne suis pas du tout spécialiste de Haproxy, mais en suivant le tutoriel de @mprinfo je suis arrivé à une configuration qui fonctionne.

 

J'accède par:  https://domlinux.MonDomaine.fr/domocharts/index.php aux graphiques  ...

 

SI cela peut t'aider ....

 

#************************************************************************************
# Déclaration HAPROXY
#************************************************************************************

global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
    stats timeout 30s
    user haproxy
    group haproxy
    daemon
    maxconn 2048

    # Default SSL material locations
    ca-base /etc/ssl/certs
    crt-base /etc/ssl/privatte
    

    # Default ciphers to use on SSL-enabled listening sockets.
    # For more information, see ciphers(1SSL). This list is from:
    # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
    # An alternative list with additional directives can be obtained from
    # https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
    ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
    ssl-default-bind-options no-sslv3
    tune.ssl.default-dh-param 2048 

defaults
    log    global
    mode    http
    option    httplog
    option    dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

#  ------------------------------------------------------------------------
#  -                                 H T T P
#  ------------------------------------------------------------------------
frontend http-
    option http-keep-alive
    compression algo gzip
    compression type text/html text/plain text/css application/x-javascript
    bind *:80
    mode http
    option httplog
    
    acl letsencrypt-acl path_beg /.well-known/acme-challenge/

    #**********************************
    # Define hosts http MonDomaine
    #**********************************
    acl domlinux hdr(host) domlinux.MonDomaine.fr
    
    #**********************************
    # Forcer Redirection vers Https
    #**********************************
    redirect scheme https if  !{ ssl_fc } domlinux

    use_backend letsencrypt-backend if letsencrypt-acl

    default_backend backend_DEFAULT

#  ------------------------------------------------------------------------
#  -                                 H T T P S
#  ------------------------------------------------------------------------

frontend https-in
    bind *:443 ssl crt /etc/haproxy/certs/ no-sslv3
    mode    http
    option    httplog
        
    acl letsencrypt-acl path_beg /.well-known/acme-challenge/  
   
    #********************************************************
    # Define hosts https MonDomaine
       #********************************************************  
    acl domlinux hdr(host) domlinux.MonDomaine.fr

    
    #********************************************************
    # Use backend 
    #********************************************************
    use_backend backend_DOMLINUX if domlinux
    
    use_backend letsencrypt-backend if letsencrypt-acl

      default_backend backend_DEFAULT

#  ------------------------------------------------------------------------ 
#  -                Define backend 
#  ------------------------------------------------------------------------

#--------------------- Backend pour le renouvellement du certificat letsencrypt    
backend letsencrypt-backend
    server letsencrypt 127.0.0.1:8888 

 

#--------------------- Backend pour DOMLINUX   
backend backend_DOMLINUX
    mode http
    option httpchk
    option forwardfor except 127.0.0.1
    http-request add-header X-Forwarded-Proto https if { ssl_fc }
    server DOMLINUX 192.168.82.8:5080 maxconn 15

 

#--------------------- Backend pour DEFAULT
backend backend_DEFAULT
    http-request deny

  • Thanks 1
Posté(e)

en fait j'avais la même configuration, sauf que pour le backend je n'avais pas précisé le port, car je croyait qu'il prenait le port http par défaut.

J'aurais du essayer en le précisant dans ma config avant de poser la question.

Donc désolé pour le dérangement et merci pour vos réactions.

×
×
  • Créer...