我已经购买了两个PositiveSSL证书(单独),一个用于manager.domain.com,另一个用于domain.com。 最初我只需要使用SSL的manager.domain.com,但比我需要在domain.com上使用SSL。 一切工作正常与domain.manager.com的一个SSL证书,但是当我将第二个证书数据添加到.pem文件,domain.com尝试使用domain.com的证书进行validation,并且它不起作用。 我怎样才能有两个ssl证书使用同样的stunnel instanse? 我有趣的nginx和清漆,如果这是有用的。
这里是stunnelconfiguration文件和我的pem文件的格式。 注意 – 这对于domain.manager.com(这是第一个证书)可以正常工作。
cert = /etc/ssl/all.pem debug = 5 output = /var/log/stunnel4/stunnel.log [https] accept = 443 connect = 80
和all.pem的格式。 第一个证书是为manager.domain.com(其工作),第二个为domain.com,这是行不通的。 (私人密钥是用manager.domain.com生成的):
-----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkahkiG9w0BAQEFAASCBKkwggSl444AAoIBAQDz/pbylQ5Ci6ji END PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIFCjCCA/gdfwIBAgIRAL9QPhnM0h2smePkZ8ToSBMwDdfgKoZIhvcNAQEFBQAw -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFCjCCA/gdfwIBAgIRAL9QPhnM0h2smePkZ8ToSBMwDdfgKoZIhvcNAQEFBQAw -----END CERTIFICATE-----
我也尝试分离证书,并把它们放入CApath
CApath = /etc/stunnel/certs/ debug = 5 output = /var/log/stunnel4/stunnel.log [https] accept = 443 connect = 80
我使用这些命令
openssl x509 -hash -noout -in domain.pem openssl x509 -hash -noout -in manager.domain.pem
创build文件放在目录/ etc / stunnel / certs /中。 但stunnel尝试重新启动时出现以下错误:
Restarting SSL tunnels: No limit detected for the number of clients signal_pipe: FD=3 allocated (non-blocking mode) signal_pipe: FD=4 allocated (non-blocking mode) stunnel 4.42 on i686-pc-linux-gnu platform Compiled with OpenSSL 1.0.0e 6 Sep 2011 Running with OpenSSL 1.0.1 14 Mar 2012 Update OpenSSL shared libraries or rebuild stunnel Threading:PTHREAD SSL:ENGINE Auth:LIBWRAP Sockets:POLL,IPv6 Reading configuration from file /etc/stunnel/https.conf PRNG seeded successfully Line 8: End of section https: SSL server needs a certificate str_stats: 53 block(s), 3974 byte(s) [Failed: /etc/stunnel/https.conf] You should check that you have specified the pid= in you configuration file
给我manager.domain.com的文件是
Root CA Certificate - AddTrustExternalCARoot.crt Intermediate CA Certificate - PositiveSSLCA2.crt Your PositiveSSL Certificate - manager_domain_com.crt
和domain.com一样。
有人可以帮助我吗?
您需要使用TLS SNI才能在同一个侦听端口上显示两个不同的证书。 请注意,某些客户端,特别是大多数在Windows XP下运行的浏览器,不支持SNI。
请参阅文档中的sni选项。 将你的证书分成不同的文件(同一个私钥用于两个公共证书):
[https] cert = /etc/ssl/domain.com.pem accept = 443 connect = 80 [domain] sni = https:domain.com sni = https:www.domain.com cert = /etc/ssl/domain.com.pem connect = 80 [manager] sni = https:manager.domain.com cert = /etc/ssl/manager.domain.com.pem connect = 80