Giunsa ang Pag-configure sa CA SSL Certificate sa HAProxy


Ang HAProxy kay kaylap nga gigamit, kasaligan, high-performance nga reverse proxy, nga nagtanyag og taas nga available ug load balancing nga kapabilidad para sa TCP ug HTTP nga mga aplikasyon. Sa kasagaran, kini gihugpong sa OpenSSL, sa ingon nagsuporta sa SSL pagtapos, makapahimo sa imong website/application stack sa pag-encrypt ug pag-decrypt sa trapiko tali sa imong \web entry server o application access gateway server ug mga aplikasyon sa kliyente.

Gipakita sa kini nga giya kung giunsa ang pag-configure sa usa ka sertipiko sa CA SSL sa HAPorxy. Kini nga giya nagtuo nga nadawat na nimo ang imong sertipiko gikan sa CA ug andam na nga i-install ug i-configure kini sa usa ka HAProxy server.

Ang gipaabot nga mga file mao ang:

  • Ang sertipiko mismo.
  • Ang intermediate nga mga sertipiko gitawag usab nga mga bundle o kadena, ug.
  • Ang gamut CA, kon anaa, ug.
  • Ang pribadong yawe.

Paghimo og PEM-formatted SSL Certificate File

Sa dili pa nimo i-configure ang imong CA certificate sa HAProxy, kinahanglan nimong masabtan nga ang HAProxy nagkinahanglan og usa ka .pem file nga kinahanglan adunay sulod sa tanang mga file sa ibabaw, nga gidugtong sa mosunod nga han-ay:

  • Ang pribadong yawe nga nagtapos sa .key, (mahimong moabut sa sinugdanan o katapusan sa file).
  • Gisundan sa SSL Certificate (kasagarang matapos sa .crt).
  • Dayon ang CA-Bundle(kasagarang matapos sa .ca-bundle), ug
  • Ang gamut nga CA, kung anaa.

Aron mahimo ang .pem file, balhin sa direktoryo nga adunay imong mga file sa sertipiko e.g ~/Downloads, dayon padagana ang cat command sama niini (ilisan ang mga ngalan sa file sumala niana):

$ cat example.com.key STAR_example_com/STAR_example_com.crt STAR_example_com/STAR_example_com.ca-bundle > example.com.pem

I-configure ang PEM SSL Certificate sa HAProxy

Sunod, i-upload ang bag-o lang nabuhat nga .pem certificate file ngadto sa HAProxy server gamit ang scp command sama sa gipakita (ilisan ang sysadmin ug 192.168.10.24 sa remote server username ug IP address matag usa):

$ scp example.com.pem  [email :/home/sysadmin/

Dayon paghimo og direktoryo diin ang certificate .pem file itago gamit ang mkdir command ug kopyaha ang file ngadto niini:

$ sudo mkdir -p /etc/ssl/example.com/
$ sudo cp example.com.pem /etc/ssl/example.com/

Sunod, ablihi ang imong HAProxy configuration file ug i-configure ang sertipiko sa ilawom sa frontend listener section, gamit ang ssl ug crt parameters: ang una makapahimo sa SSL termination ug ang ulahi nagtino sa lokasyon sa certificate file.

frontend http_frontend
      mode http
      bind *:80
      bind *:443 ssl crt  /etc/ssl/example.com/example.com.pem alpn h2,http/1.1
     redirect scheme https code 301 if !{ ssl_fc }
      default_backend http_servers

Ang pila nga mga bersyon sa SSL/TLS wala girekomenda nga gamiton karon tungod sa mga kahuyangan nga nadiskubre niini. Aron limitahan ang gisuportahan nga bersyon sa SSL, mahimo nimong idugang ang parameter nga ssl-min-ver sama niini:

bind *:443 ssl crt  /etc/ssl/example.com/example.com.pem alpn h2,http/1.1   ssl-min-ver TLSv1.2

I-configure ang HAProxy aron I-redirect ang HTTP sa HTTPS

Aron masiguro nga ang imong website ma-access lamang pinaagi sa HTTPS, kinahanglan nimo nga hatagan ang HAProxy nga ma-redirect ang tanan nga trapiko sa HTTP sa HTTPS kung ang usa ka tiggamit mosulay sa pag-access niini pinaagi sa HTTP (port 80).

Idugang ang mosunod nga linya sa ibabaw nga configuration:

redirect scheme https code 301 if !{ ssl_fc }
OR
http-request redirect scheme https unless { ssl_fc }

Ang imong frontend nga seksyon kinahanglan nga tan-awon sama sa usa niini nga sample nga configuration:

frontend http_frontend
      mode http
      bind *:80
      bind *:443 ssl crt  /etc/ssl/example.com/example.com.pem alpn h2,http/1.1  ssl-min-ver TLSv1.2
      redirect scheme https code 301 if !{ ssl_fc }
      default_backend   http_servers

backend http_servers
      mode http
      balance roundrobin
      option httpchk HEAD /
      http-response set-header X-Frame-Options SAMEORIGIN
      http-response set-header X-XSS-Protection 1;mode=block
      http-response set-header X-Content-Type-Options nosniff
      default-server check maxconn 5000
      server http_server1 10.2.1.55:80

I-save ang configuration file ug isira kini.

Dayon susiha kung husto ba ang syntax niini gamit ang mosunod nga sugo:

$ sudo haproxy -f /etc/haproxy/haproxy.cfg -c

Kung balido ang configuration file, ipadayon ug i-reload ang serbisyo sa haproxy aron makuha ang bag-ong mga pagbag-o sa configuration, gamit ang systemctl command:

$ sudo systemctl reload haproxy

Katapusan apan dili labing gamay, sulayi ang tibuuk nga pag-setup pinaagi sa pag-access sa imong website gikan sa usa ka web browser ug siguroha nga maayo ang pagkarga sa sertipiko ug gipakita sa browser nga ang \Lig-on ang koneksyon!

Kana lang! Kami nanghinaut nga kini nga giya nakatabang kanimo sa pag-configure sa usa ka SSL certificate sa HAProxy load balancer software. Kung makasugat ka og bisan unsang mga sayup, ipahibalo kanamo pinaagi sa porma sa feedback sa ubos. Kami malipay sa pagtabang kanimo.