我是grpc和tensorflow模型服务器的新手。我使用bazel从源代码构建了tensorflow模型服务器(TF2.2)。我正在尝试使用带有SSL身份验证的tensorflow模型服务器。我无法在客户端和服务器之间进行正确的通信。基本上,我试图在两个客户端的帮助下测试我的TFserver (例如客户端A和客户端B,位于两台不同的机器上)。客户端A使用带有默认SSL (乏味SSL)的grpc,客户端B使用带有OpenSSL 1.1.1g版本的GRPC。我的TFserver能够与客户机A通信,但不能与客户端B通信。这两个客户端代码都是用C++编写的。这两种代码是相同的,只是SSL版本不同。
我有以下问题:
routines:OPENSSL_internal:WRONG_VERSION_NUMBER:E1017 00:51:53.358762382 5881 ssl_transport_security.cc:1285]握手失败,致命错误SSL_ERROR_SSL:错误:100000f7:SSL E1017
甚至在我的客户端向服务器发送请求之前,每5-10秒钟就会重复出现这个错误。正如我前面提到的,即使在TF模型服务器端收到此错误后,我仍然能够与客户机A(即具有默认SSL版本(boringSSL)的客户端)进行通信。但是无法与客户机B通信,我已经用OpenSSL-1.1g版本构建了GRPC。可能的原因是什么?
我正在发布用于启动服务器和服务器启动日志的命令,错误如下:
Command :
/home/user/TFSERVING/bin/tensorflow_model_server --port=9002 --model_config_file=/home/user/model_config.conf -v=1 --ssl_config_file=/home/user/TFSERVING/conf/tf_ssl.conf
server starting log :
.............................
.............................
I external/org_tensorflow/tensorflow/cc/saved_model/reader.cc:54] Reading meta graph with tags { serve }
2020-10-17 01:51:46.912960: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:295] Reading SavedModel debug info (if present) from: /home/dipesh/models/dnn_for_cdssm/1
2020-10-17 01:51:46.916942: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:234] Restoring SavedModel bundle.
2020-10-17 01:51:46.940462: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:183] Running initialization op on SavedModel bundle at path: /home/user/models/dnn_for_cdssm/1
2020-10-17 01:51:46.947514: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:364] SavedModel load for tags { serve }; Status: success: OK. Took 36559 microseconds.
2020-10-17 01:51:46.948348: I tensorflow_serving/servables/tensorflow/saved_model_warmup.cc:105] No warmup data file found at /home/user/models/dnn_for_cdssm/1/assets.extra/tf_serving_warmup_requests
2020-10-17 01:51:46.949083: I tensorflow_serving/core/loader_harness.cc:87] Successfully loaded servable version {name: dnn_for_cdssm version: 1}
2020-10-17 01:51:46.955075: I tensorflow_serving/model_servers/server.cc:355] Running gRPC ModelServer at 0.0.0.0:9002 ...
E1017 01:55:30.274185306 11400 ssl_transport_security.cc:1285] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
E1017 01:55:50.273963581 11400 ssl_transport_security.cc:1285] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
E1017 01:56:10.273677580 11400 ssl_transport_security.cc:1285] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
E1017 01:56:30.273541640 11400 ssl_transport_security.cc:1285] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
E1017 01:56:50.273330934 11400 ssl_transport_security.cc:1285] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
E1017 01:57:05.273176164 11400 ssl_transport_security.cc:1285] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
E1017 01:57:20.273020963 11400 ssl_transport_security.cc:1285] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
E1017 01:57:40.272633395 11400 ssl_transport_security.cc:1285] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
E1017 01:57:55.272573695 11400 ssl_transport_security.cc:1285] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
我知道,我问了很多问题,但我完全迷失在我的客户端和TF服务器之间的安全连接中。因此,我想说明所有可能出错的原因。请帮我把这件事做完。
如果有人需要澄清,请告诉我。
提前谢谢!
发布于 2020-10-21 19:57:35
错误来自底层SSL库。您是在客户端和服务器之间使用TLS或mTLS吗?您也有客户端日志吗?
我不熟悉TF参数,例如--pkcs_password_encrypted。gRPC不支持密码加密密钥。
https://stackoverflow.com/questions/64396191
复制相似问题