这里的SSL新手使用haproxy 1.8,当我有两个aws网关指向同一个代理服务器和两个由API网关本身生成的客户端证书分配给每个网关时,就会出现这种情况。
现在,我有了一个have服务器,我正试图以一种只允许从这2个api网关访问的方式配置它。
当我只为api网关这样做时,这意味着我只将ca文件设置为包含1个客户端证书的文件,它的工作正常,但我不知道如何将这两个客户端证书设置为允许的。
因此,我设置了以下文件:
当我像下面这样为客户端证书绑定ssl时,它工作得很好:
bind :443 ssl crt /etc/haproxy/haproxy.pem verify required ca-file /etc/haproxy/api-gw.pem或
bind :443 ssl crt /etc/haproxy/haproxy.pem verify required ca-file /etc/haproxy/api-gw2.pem对于上述每个绑定,只有正确的api网关可以访问代理,而另一个不能访问代理。
但是,当我按照下面的方式允许两种访问代理服务器时,它只允许第一个客户端证书,即使该文件同时包含这两种内容:
bind :443 ssl crt /etc/haproxy/haproxy.pem verify required ca-file /etc/haproxy/client-certs.pem由于我在证书和ssl方面的知识有限,我不确定它是否能将多个客户端证书放入一个文件中,但据我在互联网上所读到的,它是这样的.但我还是不知道为什么不起作用。
编辑i建议,我使用
cat api-gw.pem api-gw2.pem > api-gw-combo.pem这个组合体文件看起来像:
-----BEGIN CERTIFICATE-----
.....cert content for api-gw
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
.....cert content for api-gw2
-----END CERTIFICATE-----但是与我的初始文件client-certs.crt一样,same仍然只接受第一个证书。
发布于 2022-09-26 10:58:25
您的配置(一个文件中大约有两个用于SSL客户端授权的客户端CA证书)运行良好:
bind 1.2.3.4:443 ssl crt /etc/haproxy/ssl/my-domain.pem ca-file /etc/haproxy/ssl/my_client_CA_bundle.crt verify required但也许它适用于特定的情况:
my_client_CA_bundle.crt文件中,我们有两个根CA用于客户端验证,此配置用于在旧客户端耗尽时平稳地转换到新客户端的CA。
https://stackoverflow.com/questions/54247025
复制相似问题