在Ubuntu 14.04上将SSL终止添加到HAProxy

本文将逐步指导您在HAProxy上设置SSL终止,以加密HTTPS上的流量。我们将对新前端使用自签名SSL证书。假定您已经安装了HAProxy并配置了标准的HTTP前端。

要求

  • Vultr VPS
  • HAProxy 1.5
  • Ubuntu 14.04 LTS(应该在其他版本和发行版上工作)

生成证书和私钥

运行以下代码行以生成将与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

配置HAProxy

您应该做的第一件事是确保禁用SSLv3。由于POODLE攻击,SSLv3不再被认为是安全的。所有应用程序和服务器应使用TLS 1.0及更高版本。使用您喜欢的文本编辑器,打开文件/etc/haproxy/haproxy.cfg。在内部,ssl-default-bind-options no-sslv3在该global部分下查找该行。如果看不到,请在本defaults节末尾的该部分之前添加该行。这将确保全局禁用SSLv3。您也可以在前端部分中进行设置,但建议全局将其禁用。

进入HTTPS设置。创建一个名为的新前端部分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 

解释:

  • bind public_ip:443(更改public_ip为VPS公共IP)告诉HAProxy监听发送到端口443(HTTPS端口)上IP地址的任何请求。
  • ssl crt /etc/ssl/certs/server.bundle.pem 告诉HAProxy使用先前生成的SSL证书。
  • reqadd X-Forwarded-Proto:\ https 将HTTPS标头添加到传入请求的末尾。
  • rspadd Strict-Transport-Security:\ max-age=31536000 防止降级攻击的安全策略。

您无需对后端部分进行任何其他更改。

如果希望HAProxy默认使用HTTPS,请添加redirect scheme https if !{ ssl_fc }到本www-backend节的开头。这将强制HTTPS重定向。

保存您的配置并运行service haproxy restart以重新启动HAPRoxy。现在,您都可以将HAProxy与SSL端点一起使用。



Leave a Comment

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。