本教程将帮助你了解如何在HAproxy负载均衡器上设置ssl-https终端,以保护Web服务器的安全。HA代理是一个广泛使用的开源HTTP负载平衡器和代理解决方案,它通过在多个服务器上分配工作负载来提高Web服务器的性能和可靠性。通过这样做,它提供了服务和应用程序的高可用性。
安全套接字层(SSL)是一种标准的安全技术,用于在服务器和客户端--通常是网络服务器(网站)和浏览器,或邮件服务器和邮件客户端(如Outlook)之间建立一个加密链接。它比TLS(即传输层安全)更广为人知,后者是SSL的后续技术。
SSL的图解
SSL允许信用卡号码、社会安全号码和登录凭证等敏感信息安全地传输。通常情况下,在浏览器和网络服务器之间发送的数据是以纯文本形式发送的--使你容易被窃听。如果攻击者能够拦截在浏览器和网络服务器之间发送的所有数据,他们就可以看到并使用这些信息。
更具体地说,SSL是一种安全协议。协议描述了应该如何使用算法。在这种情况下,SSL协议决定了链接和传输的数据的加密变量。
如果你看到https,网络服务器和你正在使用的移动设备上的浏览器之间的会话是加密的。你可以通过查看浏览器地址栏中的统一资源定位器(URL),轻松识别配置了https的网络服务器。
展示HTTP和HTTPS的互动方式
超文本传输协议安全(https)是超文本传输协议(HTTP)与安全套接字层(SSL)/传输层安全(TLS)协议的结合。TLS是一个在浏览器和网络服务器中广泛实施的认证和安全协议。SSL的工作原理是使用公共密钥对通过SSL连接传输的数据进行加密。大多数网络浏览器支持SSL。它允许你与网络服务器安全地进行通信。
通过负载平衡器的传入流量是纯文本的,因此是不安全的,容易被邪恶的第三方窃听。HAProxy可以被配置为在将流量分配到多个后端服务器之前对其进行加密。这是一个首选的方法,而不是对单个后端服务器进行加密,这可能是一个繁琐的过程,这就是SSL终端的作用。HAProxy对自己和客户之间的通信进行加密,然后将信息以明文形式转发到你内部网络的后端服务器。然后,它对来自后端服务器的响应进行加密,并将其转发给客户。TLS/SSL证书只存储在HAProxy负载平衡器上,而不是多个后端服务器上,从而减少服务器的工作量。
Certbot通常是用来将一个现有的HTTP网站切换到HTTPS中工作(之后,在必要时继续更新网站的HTTPS证书)。一些Certbot文档假设或建议你有一个可以使用HTTP 80端口访问的网站。
$ sudo apt update
$ sudo apt install -y certbot python3-certbot-nginx
$ netstat -na | grep ':80.*LISTEN'
$ sudo systemctl stop haproxy
$ sudo certbot certonly --standalone -d www.your-domain_name.tech --non-interactive --agree-tos --email example@gmail.com
如果一切顺利,SSL证书和密钥将被成功保存在服务器上。这些文件本身保存在/etc/letsencrypt/archives目录下,但certbot创建了一个符号链接到/etc/letsencrypt/live/your_domain_name路径。
$ sudo mkdir -p /etc/haproxy/certs
$ DOMAIN='www.your-domain_name.tech' sudo -E bash -c 'cat /etc/letsencrypt/live/$DOMAIN/fullchain.pem /etc/letsencrypt/live/$DOMAIN/privkey.pem > /etc/haproxy/certs/$DOMAIN.pem'
$ sudo chmod -R go-rwx /etc/haproxy/certs
$ sudo vim /etc/haproxy/haproxy.cfg
绑定443端口和证书关系
bind haproxy-ip:443 ssl crt /etc/haproxy/certs/domain.pem
强制http 重定向到https
redirect scheme https if !{ ssl_fc }
保存更改并退出配置文件。一定要确认HAProxy的语法没有问题,使用以下语法。
$ sudo haproxy -f /etc/haproxy/haproxy.cfg -c
重启haproxy采用新配置
$ sudo systemctl restart haproxy
确认运行状态正常
$ sudo systemctl status haproxy
刷新浏览器访问你的域名
页面更新:2024-04-23
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号