Forum Discussion
Open SSL error on ltm logs since v11 upgrade
Hello,
We upgraded our viprion 4802 from 10.2.4 to 11.2.1. Since this upgrade, we see ltm logs concerning Open SSL error every 5 seconds:
Sep 13 04:02:14 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure. Sep 13 04:02:14 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:14 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:14 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:16 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:17 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:17 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:17 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:18 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:19 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure. Sep 13 04:02:19 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:19 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:19 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:21 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:22 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:22 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:22 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol. Sep 13 04:02:23 slot1/A-EB2-BIGIP-DMZ-BCK err bigd[10121]: 01060111:3: Open SSL error - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol.
Did anyone ever faced of this problem ?
Regards,
Hassan Hireche
13 Replies
usually related to using wrong SSL version or send normal http traffic instead of https.
is it clear to you which virtual server causes this? does it work normally for you?
has all config been checked? nothing new been added? every 5 seconds might indicate a monitor which causes this.
- StephanManthey
Nacreous
I saw this problem related to monitoring with an HTTPS monitor.
The poolmember accepted the 3way handshake, but rejected the CLIENT HELLO coming from the bigd.
We removed the HTTPS monitor for the relevant poolmembers. - Hassan_Hireche1
Nimbostratus
Thank you for your answers. We suspected a monitor problem, but we have more than 1200 pools, this is very difficult to know which ones are generating this kind of log. Is there a way to activate debug on these log? Thank you for your help.
- Cory_50405
Noctilucent
You could set SSL logging to debug and see if that gives you more information, but don't leave it in debug mode for very long. Turn it on only for as long as you need to gather information on the problem and then set it back to its default.
To turn on debug logging: tmsh modify sys db log.ssl.level value "Debug"
To set it back to the default: tmsh modify sys db log.ssl.level value "Error"
- for me that doesn't help anything, doesn't point out the monitor causing the issue.
- Hassan_Hireche1
Nimbostratus
Effectively, it doesn't offer more informations about the pool causing the error
- StephanManthey
Nacreous
In our case the poolmembers were just marked down by the monitor as they did not enter the SSL handshake. So parsing the list of all poolmembers for their status was answering the question for us.
In case this is a intermittent problem, watching the /var/log/ltm should reveal suspect poolmembers.
Finally a specific tcpdump proved the assumption.
Btw, 1.200 pools is really a lot. If each of these is having i.e. 2 poolmembers to be monitored with https I would also be a bit concerned about scalability of the BIG-IP´s monitoring capacity. You are using a very short monitoring interval? - StephanManthey
Nacreous
Hi Hassan,
the tmsh 'one-line' option is very helpful in case you want to grep.
Let´s sort out your https based monitors first:
tmsh list ltm monitor one-line | grep https | awk '{print $4}'Now you can look for all poolmembers configured on port 80|http in state down with one of your suspect monitors:
tmsh list ltm pool one-line | grep -E ':(80|http) .*session monitor-enabled state down.*(your_monitor_here)' | awk '{print $3}'Good luck,
Stephan
- StephanManthey
Nacreous
Putting it into a script should make life easier:
! /bin/bash i=0 for line in `tmsh list ltm monitor one-line | grep https | awk '{print $4}'` do arr[$i]=$line i=`expr $i + 1` done for i in "${arr[@]}" do tmsh list ltm pool one-line | grep -E ":(80|http) .*session monitor-enabled state down.*${i}" | awk '{print $3}' done - StephanManthey
Nacreous
Or a bit shorter:
! /bin/bash for line in `tmsh list ltm monitor one-line | grep https | awk '{print $4}'` do tmsh list ltm pool one-line | grep -E ":(80|http) .*session monitor-enabled state down.*${line}" | awk '{print $3}' done - Daniel_Tavernie
Cirrostratus
I have written a fairly comprehensive script that should root out these troubled pool members. I have included it in the DevCentral CodeShare in hopes that it can help others out. Let me know if you have any issues with the script.
Clean Up Monitor Error: "SSL23_GET_SERVER_HELLO:unknown protocol" https://devcentral.f5.com/wiki/TMSH.Clean-Up-Monitor-Error-SSL23-GET-SERVER-HELLO-unknown-protocol.ashx
- ldesfosses
Cirrus
I've seen multiple solutions that require to run multiple tmsh command on the running BigIP.
I've made a (dirty) script that parse the bigip.conf and return a CSV list of node on port 80 with a https monitor. The only downside is all the monitor doing https check must have the word "https" in it.
! /usr/bin/sh nbl=0 ; runningPool="" runningIRule="" runningVS="" runningNode="" while IFS= read -r bigipconf do if [[ $bigipconf == ltm\ pool\ \/Common\/* ]] then runningPool=$(echo $bigipconf | awk '{print $3}' | awk -F '/' '{print $3}') echo $runningPool poolNode="" fi if [[ $runningPool != "" ]] then if [[ $bigipconf == *\/Common\/*\:80* ]] then runningNode=$(echo $bigipconf | awk -F '/' '{print $3 }' | awk '{ print $1 }') poolNode=$(echo "$poolNode;$runningNode") fi if [[ $bigipconf == *monitor* ]] then monitor=$(echo $bigipconf | awk -F '/' '{ print $3 }') if [[ $monitor == *https* ]] then echo -e "$runningPool;$monitor;$poolNode" | grep ':' fi fi fi if [[ $bigipconf == ltm\ virtual\ \/Common\/* ]] then runningPool="" fi done < input/bigip.conf
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com