Kërkesat
Gjeneroni certifikatën dhe çelësin privat
Konfiguro HAProxy
Ky artikull do t'ju udhëzojë në konfigurimin e përfundimit SSL në HAProxy, për enkriptimin e trafikut mbi HTTPS. Ne do të përdorim një certifikatë SSL të vetë-nënshkruar për frontin e ri. Supozohet se ju tashmë keni HAProxy të instaluar dhe konfiguruar me një frontend standard HTTP.
Kërkesat
- Vultr VPS
- HAProxy 1.5
- Ubuntu 14.04 LTS (Duhet të punojë në versione dhe shpërndarje të tjera)
Gjeneroni certifikatën dhe çelësin privat
Drejtoni linjat e mëposhtme të kodit për të gjeneruar një çelës privat dhe një certifikatë të vetë-nënshkruar që do të funksionojë me HAProxy.
openssl genrsa -out /etc/ssl/private/server.key 2048
mkdir /etc/ssl/csr
openssl req -new -key /etc/ssl/private/server.key -out /etc/ssl/csr/server.csr
openssl x509 -req -days 365 -in /etc/ssl/csr/server.csr -signkey /etc/ssl/private/server.key -out /etc/ssl/certs/server.crt
cat /etc/ssl/certs/server.crt /etc/ssl/private/server.key > /etc/ssl/certs/server.bundle.pem
Gjëja e parë që duhet të bëni është të siguroheni që SSLv3 është i çaktivizuar. Për shkak të sulmit POODLE, SSLv3 nuk konsiderohet më i sigurt. Të gjitha aplikacionet dhe serverët duhet të përdorin TLS 1.0 dhe më lart. Duke përdorur redaktuesin tuaj të preferuar të tekstit, hapni skedarin /etc/haproxy/haproxy.cfg. Brenda, shikoni për vijën ssl-default-bind-options no-sslv3nën globalseksion. Nëse nuk e shihni, shtoni atë rresht në fund të seksionit përpara defaultsseksionit. Kjo do të sigurojë që SSLv3 të jetë i çaktivizuar globalisht. Mund ta vendosni gjithashtu brenda seksioneve tuaja të frontit, por rekomandohet ta çaktivizoni globalisht.
Te konfigurimi i HTTPS. Krijo një seksion të ri frontend me emrin web-https.
frontend web-https
bind public_ip:443 ssl crt /etc/ssl/certs/server.bundle.pem
reqadd X-Forwarded-Proto:\ https
rspadd Strict-Transport-Security:\ max-age=31536000
default_backend www-backend
Për të shpjeguar:
bind public_ip:443(ndryshoni public_ipnë IP-në tuaj publike VPS) i thotë HAProxy të dëgjojë çdo kërkesë që dërgohet në adresën ip në port 443(porta HTTPS).
ssl crt /etc/ssl/certs/server.bundle.pem i thotë HAProxy të përdorë certifikatën SSL të krijuar më parë.
reqadd X-Forwarded-Proto:\ https shton kokën HTTPS në fund të kërkesës në hyrje.
rspadd Strict-Transport-Security:\ max-age=31536000 një politikë sigurie për të parandaluar sulmet e uljes.
Ju nuk keni nevojë të bëni ndonjë ndryshim shtesë në seksionin tuaj të backend.
Nëse dëshironi që HAProxy të përdorë HTTPS si parazgjedhje, shtoni redirect scheme https if !{ ssl_fc }në fillim të www-backendseksionit. Kjo do të detyrojë ridrejtimin HTTPS.
Ruani konfigurimin tuaj dhe vraponi service haproxy restartpër të rifilluar HAPRoxy. Tani jeni gati për të përdorur HAProxy me një pikë fundore SSL.