当前位置: 首页 > 知识库问答 >
问题:

nginx和tomcat ssl问题-SSL23_GET_SERVER_HELLO:SSLv3警报握手失败

姬衡
2023-03-14

nginx配置

server {
  listen 443;
  server_name     app.somewhere.com;
  root            /usr/share/tomcat8/webapps;
  ssl on;
  ssl_session_timeout 5m;
  ssl_session_cache shared:SSL:5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;  
  ssl_certificate /opt/jdk1.8.0_45/jre/lib/security/app_somewhere_com.pem;
  ssl_certificate_key /opt/jdk1.8.0_45/jre/lib/security/app_somewhere_com.key;
  ssl_dhparam /etc/nginx/certs/dhparam.pem;
  proxy_ssl_server_name on;
  location / {
        proxy_read_timeout 120s;        
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass https://app.somewhere.com:8443;
  }
}

tomcat server.xml

<Connector port="8443"
                maxThreads="100"
                scheme="https"
                secure="true"
                SSLEnabled="true"
                keystoreFile="/opt/jdk1.8.0_45/jre/lib/security/my-keystore.jks"
                protocol="org.apache.coyote.http11.Http11NioProtocol"
                keystorePass="mypass"
                clientAuth="false"
                sslProtocol="TLS"
                proxyPort="443"/>

共有1个答案

瞿健
2023-03-14

发现问题时,证书被导入到错误的密钥存储区。因此,我使用以下命令使用证书和私钥创建了新的密钥存储。

创建新密钥库

openssl pkcs12 -export -in cert.crt -inkey private-key.key -certfile cert.crt -name "tomcat" -out keystore.p12

将keystore转换为jks格式

keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype JKS
 类似资料:
  • 问题内容: 我正在对branch.io进行以下调用 它在我的本地计算机上工作正常,但在服务器上失败。 OpenSSL版本: 本地:OpenSSL 0.9.8zg 2015年7月14日 伺服器:OpenSSL 0.9.8e-fips-rhel5 2008年7月1日 Python : 本地:2.7.10服务器:2.7.6 分支io服务器连接 : Chrome浏览器确认DigiCert SHA2 Sec

  • 我使用的是运行在JDK7上的Liferay 6.2 CE GA2框架。当使用Apache http客户端调用话语论坛API时,它会抛出异常:javax.net.ssl.SSLHandshakeExc0019:收到致命警报:handshake_failure。 我认为这是因为*JDK7没有实现任何GCM密码套件。 话语论坛配置了SSL协议:TLSv1。2和强密码套件:TLS_ECDHE_ECDSA_

  • 我打以下电话给branch.io 它在我的本地机器上运行良好,但在服务器上出现故障。 Openssl版本: 本地:OpenSSL 0 . 9 . 8 ZG 2015年7月14日 服务器:OpenSSL 0.9.8e-fips-rhel5 2008年7月1日 Python: 本地:2.7.10服务器:2.7.6 分支io服务器连接: Chrome 已验证 DigiCert SHA2 安全服务器 CA

  • 我有一个用Java编写的REST API,在JBoss下运行。最近我们将JVM从1.6更新到1.7。这开始导致只有我们正在连接的Python客户端出现问题。间歇性地,Python客户端出现握手失败。我们编写了一个非常简单的测试来重现这个问题: 给出以下输出: 第67次调用在这次运行中失败了,但是每次测试运行失败的时间不同。 我们的其他客户端(Java、Groovy和Ruby)工作起来没有任何问题。

  • 充当缓存代理的NGINX在通过HTTPS从CloudFront服务器获取内容时遇到问题: 这是NGINX错误日志的摘录: 2014/08/14 16:08:26[错误] 27534#0: *11560993SSL_do_handshake()失败(SSL:错误: 14077410: SSL例程:SSL23_GET_SERVER_HELLO: sslv3警报握手失败)而SSL握手到上游,客户端:82

  • 我正在尝试在我的Kafka服务器上启用SSL身份验证。我在Kafka文档中遵循7.2节。 遵循了所有步骤,但是当调用Producer.bat文件将数据发送到主题时,我得到了下面的错误。