HAproxy1 版本 8 配置 MinIO TLS 錯誤解決方案

Mondo 科技 更新 2024-01-29

由於客戶在 minio 上使用 haproxy 1版本 8,作業系統使用 RHCL8版本 6. 作業系統核心、SSL 證書位和 HAPROXY 1024 位證書上出現問題。

針對這個問題,進行了長達 7 個工作日的測試以得出這一結論。

minio全球團隊將生成知識記錄,並以這種方式解決。

在新標準中,證書是: PEM 和私鑰是單獨設定的,由 Haproxy 讀取。

但是在 haproxy 1 中在版本 8 及更早版本中,證書為: 將PEM和私鑰合成為證書,生成證書。

否則,將生成錯誤資訊,如下所示:

haproxy service fails with error "bind :443 unable to load ssl certificate from pem file file".

將顯示以下錯誤訊息:

[warning] 096/214815 (5805) :parsing [/etc/haproxy/haproxy.cfg:67] :'bind 0.0.0.0:443' :

unable to load default 1024 bits dh parameter for certificate '/etc/haproxy/bundle.pem'., ssl library will use an automatically generated dh parameter.

warning] 096/214815 (5805) :setting tune.ssl.default-dh-param to 1024 by default, if your workload permits it you should set it to at least 2048. please set a value >= 1024 to make this warning disappear.

主要提示是證書的位數為 1024 位,不符合工作負載的要求,需要將其更改為 2048 位。

您可以使用一些不同的設定來解決 Tunessl.default-dh-param 警告。

一種選擇是顯式設定調諧ssl.default-dh-param 值設定為大於 1024 的值。

但是,haproxy 文件建議指定自定義 diffie-hellman 引數,因為此方法更安全,因此我們將改用該方法。 /etc/haproxy/haproxy.cfg 首先,您將使用實用程式生成 dhparamsPEM 檔案。

建立檔案後,將其新增到全域性 haproxy 配置部分,以便任何塊都繼承該設定。 opensslfrontend 要生成自定義 dh 引數,請執行以下命令:

sudo openssl dhparam -out /etc/haproxy/dhparams.pem 2048

輸出過程稍等片刻:

generating dh parameters, 2048 bit long safe prime, generator 2

this is going to take a long time

命令完成後,將 haproxy 配置為使用自定義 dh 引數檔案。 在您喜歡的編輯器或您喜歡的編輯器中開啟 etc haproxy haproxycfg:

sudo vi /etc/haproxy/haproxy.cfg

輸出資訊如下:

# turn on stats unix socket

stats socket /var/lib/haproxy/stats

# utilize system-wide crypto-policies

#ssl-default-bind-ciphers profile=system

ssl-default-server-ciphers profile=system

現在在 ssl-default-server-ciphers profile=system 行後新增一行,如下所示:

ssl-dh-param-file /etc/haproxy/dhparams.pem

整個部分應類似於以下內容,包括您新增的新突出顯示的 ssl-dh-param-file 行:

# turn on stats unix socket

stats socket /var/lib/haproxy/stats

# utilize system-wide crypto-policies

#ssl-default-bind-ciphers profile=system

ssl-default-server-ciphers profile=systemssl-dh-param-file /etc/haproxy/dhparams.pem

再服務:

sudo systemctl restart haproxy.service

準備相關證書並修改etc主機,劫持相關網域名稱:vim etc hosts

劫持後的結果如下:1270.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.31.233 img.minio.org.CN測試ping:ping imgminio.org.CN測試成功。

3.2 綜合相關證書。

將私鑰整合到。 crt,將其名稱修改為 。 PEM 或保留原始名稱。 CRT 是可以接受的。

其工作原理如下:cat imgminio.org.cn.key >>img.minio.org.cn.PEM 注意:此示例基於 imgminio.org.cn 為例,您可以將其替換為實際的網域名稱。

3.3. 調整 haproxy 後新增伺服器。

執行以下命令,新增haproxy後端伺服器資訊。

vim /etc/haproxy/haproxy.cfg

新增以下資訊:

backend servers

balance roundrobin

mode http

server web1 192.168.31.211:9001 check

server web2 192.168.31.212:9001 check

server web3 192.168.31.213:9001 check

server web4 192.168.31.214:9001 check

backend servers-endpoint

balance roundrobin

mode http

server web1 192.168.31.211:9000 check

server web2 192.168.31.212:9000 check

server web3 192.168.31.213:9000 check

server web4 192.168.31.214:9000 check

為了獲得更好的結果,我們在 443 和 9443 中新增了 TLS 證書。 在 HTTP 埠 9000 和 9001 上,不要新增證書。 前端配置如下:

frontend minio-https

bind *:443 ssl crt /etc/haproxy/certs/img.minio.org.cn.pem

bind *:9001

mode http

default_backend servers

frontend endpoint

bind *:9000

bind *:9443 ssl crt /etc/haproxy/certs/img.minio.org.cn.pem

mode http

default_backend servers-endpoint

HTTPS 配置成功。

重新啟動服務,配置成功。

HTTP 配置成功。

MC 客戶端。 

wget mv mc /usr/local/bin/mc

chmod +x /usr/local/bin/mc

ln -s /usr/local/bin/mc /usr/bin/mc

將 9443 相關終結點新增到 mc:

新增遠端伺服器。 

mc alias set ssl minioadmin minioadmin

#output

added `ssl` successfully.

mc ls ssl

顯示輸出資訊。

2023-10-19 10:45:13 edt] 0b test/

2023-10-19 10:45:19 edt] 0b test1/

您可以使用較新的版本或我們官方推薦的配置。 如果您使用的是早期版本,我們將為您的企業客戶提供全面的解決方案。

如需商業技術支援,請聯絡公尺尼奧中國官方網站。

相關問題答案

    OpenHarmony 5 0 預計將加強車機的基礎能力,並將於明年第三季度發布

    據悉,開源作業系統OpenHarmony 版本 計畫於明年第一季度 Q 發布,而 OpenHarmony 版本 預計將在第三季度發布。OpenAtom OpenHarmony 以下簡稱 OpenHarmony 是由OpenAtom基金會孵化和運營的開源專案,旨在面向全場景 全萬物 全智慧型時代,以開...

    iOS 17 2 版驚喜 iPhone 全新應用轉殖功能,多工處理公升級!

    日前,蘋果發布了iOS .版本 ,為 iPhone 帶來了乙個令人驚訝的新功能 應用程式轉殖。此功能的加入進一步增強了 iPhone 的多工處理能力,為使用者帶來更便捷 更高效的體驗。應用程式分身功能允許使用者在同一部 iPhone 上同時執行兩個相同的應用程式。以前,使用者可能需要安裝不同版本的應...

    iOS 17 2 更新 iPhone 應用程式頭像,打造個性化的多工世界!

    近日,蘋果發布了iOS 版本 更新,其中最引人注目的是新推出的 iPhone 應用程式轉殖功能。此功能允許使用者在同一部 iPhone 上同時執行多個相同的應用程式,從而實現個性化的多工處理。這無疑將改善使用者體驗,並使iPhone成為更高效的工具。過去,想要同時使用同一應用程式執行不同任務的使用者...

    《戰艦世界》歡迎第 12 版和第 11 版聖誕板條箱送禮物

    臨近年底,戰艦世界 又有大動作!.第 版今天正式更新,帶來了一系列令人興奮和有益的活動,從玩家永遠不會忘記的聖誕箱,到帶著強大戰艦回歸的造船廠,主題是 年的圓滿結局。聖誕補給箱來送你乙份大禮 參加去年 戰艦世界 賽季的絕大多數玩家仍然對聖誕箱中強大的船隻數量讚不絕口,因為很少有如此快速簡便的方法來獲...

    DNF在12 07版本中推出了特別快遞,令人驚訝

    DNF嘉年華 DNF 嘉年華, 點版本推出了特別特快驚喜 希爾斯的秘寶 限時回歸的神獸龍袍合成。其中,神秘禮盒日常享受活動進行了調整,獎勵改為龍業火禮盒和融合史詩裝備設計地圖可選禮盒,幫助玩家更快獲得裝備和材料。此外,名望要求已降低,這可能會導致金幣 請留意更新和活動調整,以享受更好的遊戲體驗。在版...