También rastreé este problema. Mis síntomas eran exactamente los mismos que los tuyos e incluso probé las mismas cosas que tú probaste. En resumen, mi problema solo ocurrió porque estaba usando tomcat en centos con SELinux.
Algunas personas me ayudaron a diagnosticar usando los siguientes comandos para ver los eventos de seguridad y por qué algunas acciones no estaban permitidas:
sudo ausearch -m avc
sudo grep "tcp_socket" /var/log/audit/audit.log | audit2why // translates log into some human readable reasons why the audit record was generated
Vi entradas como:
Y luego encontré este artículo sobre Tomcat y SELinux https://noobient.com/post/165972214381/selinux-problemas-con-tomcat-en-centos-74
Puede ejecutar el siguiente comando para ver si tomcat se está ejecutando en el contexto de seguridad tomcat_t.
$ps auxZ | grep tomcat
Con el fin de determinar verdaderamente si mi error fue SELinux, deshabilité SELinux
$ sestatus // shows: SELinux status: enabled
$ sudo vim /etc/selinux/config // set "SELINUX=disabled"
$ sudo shutdown -r now
$ sestatus // shows: SELinux status: disabled
reinicié mi máquina y vi que tomcat ahora estaba haciendo la conexión de salida.
Genial, ahora al menos sé POR QUÉ estaba sucediendo eso. Por supuesto, si necesita SELinux, deshabilitarlo NO es una solución. Otra solución que probablemente no sea una solución es instalar tomcat sin pasar por yum. Yum instalará Tomcat utilizando el contexto de seguridad.
Creo que el curso de acción ahora es modificar el contexto de seguridad o el conjunto de reglas que rigen Tomcat para permitirle realizar conexiones salientes.