首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法验证HAProxy - ssl客户端ca链。

无法验证HAProxy - ssl客户端ca链。
EN

Server Fault用户
提问于 2014-09-26 11:51:59
回答 1查看 5.9K关注 0票数 4

情况:

我希望这是可行的:请求来自客户端,通过443端口(ssl)发送到haproxy,然后它必须在80个端口上到达后端。

我有由中间ca ( ca1 )、ca1证书和客户端证书提供的服务器证书。但我没有找到从windows证书颁发机构向haproxy server(ubuntu)请求正确的服务器证书的解决方案。可能是模板的原因。我从windows机器服务器请求证书并将其复制到haproxy。

而且问题是HAProxy日志存在"ssl客户端ca链无法验证“的错误。

配置haproxy:

前端https_frontend bind 192.168.14.167:443 sslv3/etc/ http /cert/request/server.pemca-file/etc/ http /cert/request/CA1-Cericate.pem验证可选crt -忽略-err no-sslv3 3模式http日志/dev/log local7选项httplog use_backend web_server_1 if { ssl_fc_has_crt } default_backend web_server_2后端web_server_1模式选项http httplog服务器w7 192.168.11.109:80检查后端web_server_2模式http选项httplog服务器xp 192.168.13.205:80检查

这个计划行不通。

附加信息:来自winXP的日志,我在这里运行opennssl

C:\openssl-bin 32\bin>openssl s_client -connect haproxy2:443 -cert client.pem -CAfile ca1 1-证书.ca1 -state -showcerts

316:错误:14094418:SSL routines:SSL3_READ_BYTES:tlsv1警报未知ca:.\ssl\s3_pkt.c:1275:SSL警报编号48

316:错误:140790E5:SSL routines:SSL23_WRITE:ssl握手failure:.\ssl\s23_lib.c:184:.cer信息..。验证返回代码: 20 (无法获得本地颁发者证书)

(如果我的英语不好的话,对不起)我读过很多关于它的帖子,但没有找到解决办法。

EN

回答 1

Server Fault用户

发布于 2015-02-07 00:35:55

文件server.pem和client.pem应该包含3个部分,如下所示:

代码语言:javascript
复制
-----BEGIN RSA PRIVATE KEY-----
<lots of base64 encoded data>
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
<lots of base64 encoded data>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<lots of base64 encoded data>
-----END CERTIFICATE-----

私钥可能不是RSA,但应该是第一个。第一个证书是已签名的服务器证书。第二个证书应该是CA证书。您可以使用文本编辑器复制和粘贴每个部分。要检查您的证书,请运行此命令。

代码语言:javascript
复制
$ openssl verify -CAfile ca1-certificate.pem server.pem
server.pem: OK
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/631522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档