jojo Posté(e) le 8 janvier Signaler Posté(e) le 8 janvier 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 Merci de votre aide
Kana-chan Posté(e) le 9 janvier Signaler Posté(e) le 9 janvier 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.
jojo Posté(e) le 10 janvier Auteur Signaler Posté(e) le 10 janvier 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)
Kana-chan Posté(e) le 10 janvier Signaler Posté(e) le 10 janvier (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é le 10 janvier par Kana-chan 1
jojo Posté(e) le 10 janvier Auteur Signaler Posté(e) le 10 janvier les solutions simples sont souvent les plus efficaces
Lazer Posté(e) le 10 janvier Signaler Posté(e) le 10 janvier 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.
jojo Posté(e) le 10 janvier Auteur Signaler Posté(e) le 10 janvier 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
henri-allauch Posté(e) le 11 janvier Signaler Posté(e) le 11 janvier 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 1
jojo Posté(e) le 11 janvier Auteur Signaler Posté(e) le 11 janvier 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.
Messages recommandés