Jak skonfigurować certyfikat CA SSL w Haproxy

Jak skonfigurować certyfikat CA SSL w Haproxy

Haproxy jest szeroko stosowanym, niezawodnym, wysokowydajnym odwrotnym proxy. Domyślnie jest skompilowany Openssl, W ten sposób wspieranie SSL Zakończenie, umożliwianie stosowi witryny/aplikacji w celu szyfrowania i odszyfrowania ruchu między serwerem „serwera wejściowego wejściowego” lub aplikacjami do aplikacji.

Ten przewodnik pokazuje, jak skonfigurować CA SSL certyfikat w HAPORXY. Ten przewodnik zakłada, że ​​otrzymałeś już certyfikat z CA i jesteś gotowy do zainstalowania i skonfigurowania go na serwerze Haproxy.

Oczekiwane pliki to:

  • Sam certyfikat.
  • Pośrednie certyfikaty nazywane także pakietami lub łańcuchami i.
  • Root Ca, jeśli jest dostępny, i.
  • Klucz prywatny.

Utwórz plik certyfikatu SSL w formacie PEM

Przed skonfigurowaniem Ca certyfikat w Haproxy, Musisz to zrozumieć Haproxy wymaga jednego .pem Plik, który powinien zawierać zawartość wszystkich powyższych plików, połączone w następującej kolejności:

  • Klucz prywatny, który kończy się .klucz, (może przyjść na początku lub na końcu pliku).
  • A następnie certyfikat SSL (zwykle kończy się .crt).
  • Następnie mieszanie CA (zwykle kończy się .CA-Bundle), I
  • Korzenie CA, jeśli jest dostępne.

Aby stworzyć .pem Plik, przejdź do katalogu, który ma pliki certyfikatu E.G ~/Pobieranie, Następnie uruchom polecenie CAT w ten sposób (odpowiednio wymień nazwy plików):

$ CAT Przykład.com.Klucz Star_Example_com/Star_Example_com.CRT Star_example_com/Star_Example_com.Przykład CA-Bundle>.com.pem 

Skonfiguruj certyfikat PEM SSL w Haproxy

Następnie prześlij właśnie utworzone .pem plik certyfikatu do Haproxy serwer za pomocą polecenia SCP jak pokazano (zamień Sysadmin I 192.168.10.24 odpowiednio z zdalnym serwerem i adresem IP):

$ SCP Przykład.com.PEM [e -mail chroniony]:/home/sysadmin/ 

Następnie utwórz katalog, w którym certyfikat .pem plik będzie przechowywany za pomocą Mkdir polecenie i skopiuj plik do niego:

$ sudo mkdir -p/etc/ssl/przykład.COM/ $ sudo CP Przykład.com.PEM/etc/ssl/przykład.com/ 

Następnie otwórz Haproxy Plik konfiguracyjny i skonfiguruj certyfikat w sekcji Słuchaj Frontend, używając parametrów SSL i CRT: Pierwszy umożliwia zakończenie SSL, a drugi określa lokalizację pliku certyfikatu.

Frontend HTTP_Frontend Mode HTTP BIND *: 80 BIND *: 443 SSL CRT/ETC/SSL/Przykład.com/przykład.com.PEM ALPN H2, HTTP/1.1 Schemat przekierowania kod HTTPS 301 Jeśli !ssl_fc default_backend http_servers 

Niektóre wersje SSL/TLS nie są teraz zalecane do użytku z powodu zabezpieczeń, które zostały w nich odkryte. Aby ograniczyć obsługiwaną wersję SSL, możesz dodać SSL-min-ver Parametr taki:

wiązanie *: 443 SSL crt/etc/ssl/przykład.com/przykład.com.PEM ALPN H2, HTTP/1.1 SSL-min-Ver TLSV1.2 

Skonfiguruj haproxię, aby przekierowywać HTTP do HTTPS

Aby upewnić się, że Twoja witryna jest dostępna tylko za pośrednictwem Https, Musisz umożliwić Haproxy przekierować wszystkie Http ruch do Https W przypadku, gdy użytkownik próbuje uzyskać do niego dostęp w stosunku do HTTP (port 80).

Dodaj następujący wiersz do powyższej konfiguracji:

Schemat przekierowania kod HTTPS 301 Jeśli !ssl_fc lub http-request przekierowanie schemat https, chyba że ssl_fc 

Twoja sekcja frontendowa powinna teraz wyglądać jak ta w tej przykładowej konfiguracji:

Frontend HTTP_Frontend Mode HTTP BIND *: 80 BIND *: 443 SSL CRT/ETC/SSL/Przykład.com/przykład.com.PEM ALPN H2, HTTP/1.1 SSL-min-Ver TLSV1.2 Schemat przekierowania kod HTTPS 301 Jeśli !ssl_fc default_backend http_servers backend http_servers tryb http bilans opcja okrągła httpchk głowica / http-response set-header x-frame-options -Content-Type-Options NoSniff Default-Server Sprawdź MaxConn 5000 Server HTTP_SERVER1 10.2.1.55:80 

Zapisz plik konfiguracyjny i zamknij go.

Następnie sprawdź, czy jego składnia jest poprawna za pomocą następującego polecenia:

$ sudo haproxy -f/etc/haproxy/haproxy.CFG -C 
Sprawdź konfigurację haproxy

Jeśli plik konfiguracyjny jest prawidłowy, śmiało i ponownie załaduj usługę Haproxy, aby odebrać ostatnie zmiany w konfiguracji, za pomocą polecenia SystemCtl:

$ sudo systemCtl Reload Haproxy 

Wreszcie przetestuj całą konfigurację, uzyskując dostęp do Twojej witryny z przeglądarki internetowej i upewnij się, że certyfikat ładuje się dobrze, a przeglądarka wskazuje, że „Połączenie jest bezpieczne"!

Sprawdź stronę Haproxy

To wszystko! Mamy nadzieję, że ten przewodnik pomógł Ci skonfigurować certyfikat SSL w oprogramowaniu Haproxy Load Balancer. Jeśli napotkasz jakiekolwiek błędy, daj nam znać za pośrednictwem poniższego formularza sprzężenia zwrotnego. Z przyjemnością Ci pomożemy.